한글 인코딩

유니코드

유니코드(Unicode)는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이며, 유니코드 협회(Unicode Consortium)가 제정한다. 이 표준에는 ISO 10646 문자 집합, 문자 인코딩, 문자 정보 데이터베이스, 문자들을 다루기 위한 알고리즘 등을 포함하고 있다.

유니코드 문자집합은 한 눈에 볼 수 없을 만큼 많은 내용을 담고 있다. 코드 블럭으로 나뉜 표만해도 상당하다 (참고:unicode.org/Public/9.0.0/ucd/UnicodeData.txt)

euc-kr, ksc5601, cp949

이것들은 문자집합 중

ksc5601

ksc5601은 92년도에 국가에서 정의한 표준으로 2바이트를 사용하고 2,350자의 한글을 표현한다.

cp949

cp949는 마이크로소프트가 독자적으로 제정한 규격으로 11,172자의 한글을 표현 가능합니다. 윈도95에 적용되었으며 기존 ksc5601 완성형 한글 표현의 한계를 넘어서고자 ksc5601 문자셋에 덧붙여 만든 독자적인 규격입니다. 이로서 완성형 한글 표현이 헷갈리게 됩니다.

euc-kr

기본적으로 euc-kr은 ksc5601을 나타냅니다.

 

utf-8


/resources/js/lib/json3.min-160511105854.js
유니코드는 문자세트(Character Set)인 UCS(Universal Character Set)과 그 부호화 형식(Encoding)들의 통칭이며 국제/다언어 문자 인코딩 시스템(international/multilingual text character encoding system, tentatively called Unicode)입니다.
인코딩 방법은 흔히들 알고 있는 UTF-7, UTF-8, UTF-16, UTF-32 입니다.

한글은 1991년 10월 유니코드 버전 1.0.0 당시 추가되었으며, 2.0.0에서 한중일 통합한자가 추가되었습니다. 현재 9.0.0까지 개정되어 있습니다.

유니코드에는 BOM(Byte Order Mark)란 것이 있다.
유니코드에서 엔디안을 구별하기 위해 사용되는 문자

UTF-8, UTF-16같은 인코딩 방식은 이 유니코드표의 숫자 키들을 어떻게 표현하느냐에 따라 달린 것이다. 예를 들어 UTF-8은 가변바이트를 사용하기 때문에, 1바이트로 표현이 충분한 A같은 경우는 0x41로 표현한다. 반면 UTF-16은 16비트 즉, 2바이트로 표현하기 때문에, 0x0041로 표현한다. UTF-32도 있는데, 4바이트로 표현하기 때문에 0x00000041이 된다. (이렇게 될 것 같지만, UTF16과 UTF32의 인코딩 방식의 표현 방법에 따라 조금 다르다.)

  • UTF16은 Little-Endian이냐, Big-Endian이냐에 따라 0x4100이 될수도, 0x0041이 될 수도 있다.
  • UTF32 역시 LE냐 BE냐에 따라 0x4100 0000 이거나, 0x0000 0041이 된다.

 

출처
한글 인코딩 관련 간단 정리 (http://meetup.toast.com/posts/35)
유니코드 (https://ko.wikipedia.org/wiki/유니코드)
유니코드란 무엇일까? (http://norux.me/31)

광고

답글 남기기

댓글을 게시하려면 다음의 방법 중 하나를 사용하여 로그인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중