mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Monday, July 30, 2007

Java 자바, 한글을 16진수로 변환, 유니코드 헥사 Hex 로 바꾸기


자바는 기본적으로 유니코드를 사용하기에 한글을 다루기에도 편리합니다. 다음과 같은 방법을 사용하면 한글을 16진수 헥사로 상호 변환할 수 있습니다. 단, 여기서의 16진수 코드는 "유니코드 코드 번호"입니다. 한글 완성형의 16진수 코드와는 다릅니다.

한글 <-> 십육진수 바꾸기 (상호 변환)


예제 소스 파일명: Example.java
public class Example {
  public static void main(String[] args) {


    // 한글을 16진수로 변환 출력
    System.out.format("%04X%n", (int) '가');
    // 출력 결과: AC00


    // 16진수를 한글로 변환 출력
    System.out.format("%c%n", (char) 0xAC00);
    // 출력 결과: 가


    // 출력 결과를 화면이 아닌 변수에 저장하여 완전 변환 방법
    String s = String.format("%c", (char) 0xAC00);
    System.out.println(s);
    // 가

  }
}




한글 완성형 글자를 십육진수로 바꾸는 C소스 참고: ▶▶ 한글 확장 완성형 문자열 헥사 덤프, 16진수로 변환; Hangul Hex Dump




tag: java
자바 | Java

2 Comments:
At October 11, 2014 at 5:02 PM, Blogger 1 said...

저기...
String s = String.format("%c", (char) 0xAC00);
에서 0xAC00이 뜻하는 타입을 알지 못하겟습니다..

 
At October 11, 2014 at 7:55 PM, Blogger mwultong said...


0xAC00 은 원래 char(부호 없는 16비트 정수지만, 자바에서는 유니코드 문자 타입을 의미)입니다.

그런데 char 는 int (부호 있는 32비트 정수)에 포함되므로
자바는 0xAC00 을 int 로 인식합니다.

따라서 0xAC00 은 int 입니다.


위의 소스에서는 0xAC00 을 '가'로 변환하기 위해서
(char) 이렇게 캐스팅을 해주어서
강제로 int 를 char 로 인식되게 했습니다.

char 와 int 는, 16비트 범위 내에서 상호 변환이 가능합니다.

 

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top