본문 바로가기

Programming/JAVA

유니코드와 문자열의 변환

유니코드와 문자열의 변환

자바의 char와 유니코드 문자의 길이가 모두 16비트 이므로 각각 하나씩 대응한다고 보면 되는데 String 클래스의 charAt()은 유니코드 문자를 반환하고 StringBuffer의 append() 메소드는 char 형태를 append 할 수 있습니다.

C에서 처럼 자부 필요하지는 않지만 char가 정수형이므로 산술 연산도 가능한데 C와 같은 언어에서는 Character 클래스가 이러한 연산을 위한 메소드도 제공 합니다.

아래 예제는 루프를 제어하기 위한 char에 산술 연산을 이용하고 StringBuffer에 그 문자를 추가하는 예제 입니다.

--------------------------------------------------

[UnicodeChar.java]

public class UnicodeChar {
        public static void main(String[] args) {
                StringBuffer buf = new StringBuffer();

                for(char c='a'; c<'e'; c++) {
                        buf.append(c);
                }

                buf.append('\uAC00');  //한글 '가'
                buf.append('\u01FC');  //고음의 Accent가 있는 로마체의 AE
                buf.append('\u03A9');  //오메가 대문자

                for(int i=0; i<buf.length(); i++) {
                        System.out.println("문자 #" + i + " is " + buf.charAt(i));
                }
        }
}

[결과]

---------- java ----------
문자 #0 is a
문자 #1 is b
문자 #2 is c
문자 #3 is d
문자 #4 is 가
문자 #5 is ?
문자 #6 is Ω

‘?’로 출력되는 경우는 해당 문자를 시스템의 폰트에서 인식할 수 없는 경우 입니다.

 

'Programming > JAVA' 카테고리의 다른 글

문자열 뒤집기  (0) 2008.04.28
파일 이름 변경  (0) 2008.04.28
자바에서 문자열의 좌/우 정렬  (0) 2008.04.28
실행 시 Stack Trace 얻기  (0) 2008.04.28
WebLogic서버 감시 데몬  (0) 2008.04.28