본문 바로가기

Language/Java / JSP

[Java] 아스키 코드(ASCII)를 활용한 알파벳 자동증가(A ~ z)

반응형

컴퓨터를 만지는 사람이라면 한번쯤은 들었을만한 아스키(ASCII) 코드에 대해서 포스팅합니다.
아스키(ASCII) 코드에 대해서 MS 사이트에 아래와 같이 설명되어 있더군요.


컴퓨터의 언어는 숫자입니다. 따라서 프로그램이나 다른 컴퓨터와 통신하려면 컴퓨터에서 문자와 기호가 해당 숫자 표현으로 변환되어야 합니다.


 1960년대에 표준화의 필요성이 대두되면서 ASCII(American Standard Code for Information Interchange)(아스키로 발음)가 개발되었습니다. ASCII 표에는 128개의 숫자가 해당 문자에 할당되어 있습니다. ASCII를 통해 컴퓨터 간에 또는 컴퓨터와 프로그램 간에 데이터를 저장하고 교환할 수 있습니다.


아스키(ASCII) 코드는 언어에 상관없이 모두 사용이 가능합니다. 위의 설명대로 숫자로 이루어져있기 때문에 C, Java, Python, HTML 등등 언어에 상관없이 아스키 코드를 알고 있으면 종종 개발할때 많은 도움이 되기도 합니다.

아스키코드는 128개의 숫자를 사용한다고 하였는데, 개발을 할때 늘 그렇듯이 시작은 항상 0 입니다. 그렇기 때문에 0 ~ 127 까지 사용할수 있다고 보면 됩니다.


물론 확장형 아스키 코드라고해서 128개 이상의 아스키코드를 사용하기도 하는데, 이 확장형 아스키 코드는 OS별로 순서가 다르기때문에 멀티 플랫폼 환경의 프로그램을 개발해야 한다고 하면 지양해야 하기도 합니다.

[아스키 코드표]



[출처 : www.asciicharstable.com]




다음은 아스키 코드를 활용하여 알파벳 A부터 소문자 z까지 콘솔에 출력하는 간단한예제 입니다.

public class StringGlow {

	public static void main(String[] args) {

		
		// 알파벳 시작 문자열 : A
		char aString = 65 ;
		
		
		
		
		while(true){
			
			// 특수문자 시작시 알파벳 소문자로 고정
			if(aString == 91)
				aString = 97 ;

			
			// 아스키 코드를 문자형으로 변환
			String str = String.valueOf(aString) ;
			
			
			System.out.println(str) ;
			
			
			
			// 아스키값 증가
			aString++ ;
			
			
			// 알파벳 소문자 z가 끝날시 종료 처리
			if(aString > 122)
				break ;
			
		}
		

	}

}


1. 대문자 Z, 소문자 a 사이에는 특수문자가 포함되어 있기때문에 아스키 코드가 91일때 97로 강제 고정.
2. 소문자 z(122)보다 크면 while 빠져나옴
3. 아스키코드를 문자형으로 변경하는 것은 String.valueOf 사용



문자들을 순차적(A, B, C, D, ...)으로 부여해야 할때 아스키 코드를 이용하면 편합니다.