CAFE

개발자료실-소스 등

한글 텍스트가 어떤 한글 코드로 작성되어 있는지 판별 방법

작성자nlp|작성시간12.06.14|조회수618 목록 댓글 0

한글 텍스트는 유니코드(UTF8, BE, LE), KS 완성형(EUC-KR) 모두 4가지 형태로 표현됩니다.

어떤 텍스트 파일이 어떤 코드로 작성되어 있는지 쉽게 알 수 있는 방법을 알려드립니다.

 

그러려면 우선 유니코드와 KS 완성형 한글코드 범위, 그리고 UTF8 인코딩 기법을 알아야 합니다.

 

- 유니코드 - 한글 완성음절(가~힣) 11,182자가 U+AC00 ~ U+D7A3 까지 순서대로 배치되어 있음.

- KS 완성형 - 빈도 높은 음절 2,350자(가~힝)를 상위바이트(0xB0~0xC8:  25가지), 하위바이트(0xA1~0xFE: 94가지)로 표현

- UTF8 인코딩 기법(한글 부분) - 유니코드 16비트를 1110xxxx 10xxxxxx 10xxxxxx 형식으로 24비트(3바이트)로 표현

 

우선 텍스트 파일을 16진수 뷰어(예: hexview.exe 등)로 엽니다.

 

1) UTF8로 인코딩되어 있는 한글 텍스트의 특징

   한글 3바이트의 첫 16진수가 EA/EB/EC/ED 넷 중 하나로 시작함 --> 위 UTF8 인코딩 기법의 첫 바이트 참조

   2-3번째 바이트의 첫 16진수는 8/9/A/B 로 시작함 --> 위 UTF8 인코딩 기법의 2-3번째 바이트 참조

 

2) KS 완성형 한글 텍스트의 특징

   KS 완성형 한글코드 범위로 인하여 첫 16진수는 B,C로 시작, 2번째 바이트 16진수는 A~F로 시작

 

3) 유니코드 BE, LE 한글 텍스트의 특징

   BE는 첫 바이트가 A/B/C/D로 시작하나 2번째 바이트는 00~FF까지 모두 사용

   LE는 BE와 같으나 2바이트의 순서가 거꾸로 되어 있음.

 

참고 1. 웹 브라우저에서 한글 쿼리가 %EA%B0%95%EC%8A%B9%EC%8B%9D와 같이 되어 있을 때 UTF8 임을 쉽게 알 수 있음.

참고 2. 한글 텍스트 파일 생성시 -- 윈도 메모장에서 <파일>-<다른 이름으로 저장>의 "인코딩" 창에서 방식을 지정할 수 있음.

 

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

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼