CAFE

개발자료실-소스 등

Re:자바 한글 처리: utf-8 스트링 <-> euc-kr 변환 방법

작성자nlp|작성시간13.12.08|조회수1,846 목록 댓글 0

아래 첨부 파일 예제를 보면 알 수 있음. 개략적으로 설명하면...

 

자바 입출력은 utf-8 스트링 타입이고, 내부적으로 한글처리를 할 때는 byte 배열로 한글을 조작해야 함.

String 타입에서 byte 배열로 저장할 때 인코딩 방식을 eud-kr(또는 utf-8)로 지정하여

 

String str = "가나다라";  // 또는 readLine() 으로 읽어들임

 

1) 자바의 한글 스트링(항상 utf-8로 인코딩되어 있음)을 byte 배열로 변환

byte[] b1 = str.getBytes("EUC-KR");  // 스트링 str을 b1에 euc-kr로 저장

byte[] b2 = str.getBytes("UTF-8");    // 스트링 str을 b2에 utf-8로 저장

 

2) byte 배열 b1 또는 b2를 마음대로 조작...(형태소 분석, 조사/어미 분리, 띄어쓰기/철자오류 교정 등)

 

3) byte 배열 b1 또는 b2를 자바 스트링 s1, s2로 변환

String s1 = new String(b1, "EUC-KR");   // b1은 euc-kr로 저장되어 있음

String s2 = new String(b2, "UTF-8");     // b2는 utf-8로 저장되어 있음

<주의> b1, b2를 스트링으로 변환할 때 배열크기 max. size만큼 스트링으로 변환함.

 

4) System.out.println() 함수로 출력하여 결과 확인

 

첨부파일 encode.java

 

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼