유니코드의 종류; Unicode 인코딩들의 차이점
Search Engine/IR Papers2009. 3. 15. 23:02
유니코드의 종류는 크게 3가지가 있습니다.
UTF-8 (웹페이지용 유니코드)
이것은 인터넷이나, 리눅스/유닉스 등에서 사용하는 8비트 유니코드입니다. 웹페이지 관련 작업에서 "유니코드"라고 할 때에는 이 UTF-8 유니코드를 가리킵니다. 영문이나 숫자 등은 1바이트로 표현하고, 한글이나 한자 등은 3바이트로 표현합니다. 웹페이지를 유니코드 인코딩으로 만들 때에는 반드시 "UTF-8 유니코드"를 사용해야 합니다. 8비트 유니코드라고 해서, 16비트 유니코드보다 문자 표현 범위가 작다든지 그런 것은 전혀 없고 동일합니다.
UTF-16 LE (MS OS, Office용 유니코드)
컴퓨터에서 그냥 "유니코드"라고 부를 때에는 이 UTF-16 LE 를 가리키는 경우가 많습니다. MS윈도우2000이나 윈도우XP에서 내부적으로 사용되는 유니코드입니다. 그렇다고 해서 마이크로소프트(MS)가 개발했다는 뜻은 아니고, 표준 유니코드 중의 하나입니다. 문자 1개를 16비트로 표현하는데, 앞의 8비트와 뒤의 8비트의 순서가 거꾸로 되어 있습니다. 인텔CPU가 Little-Endian 이기에, 유니코드도 앞뒤 바이트 순서를 바꾸면 이론적으로 더 처리 속도가 빨라집니다.
UTF-16 BE (Mac, JAVA용 유니코드)
BE는 Big-Endian 의 약자입니다. 이것은 맥(Mac)이나 자바(Java)에서 사용되는 16비트 유니코드인데, 앞뒤 바이트 순서가 거꾸로 바뀌지 않고 그대로 있는 것입니다. UTF-16 BE 는 윈도우에서는 거의 사용되지 않습니다.
MS오피스 관련 작업에서 유니코드를 사용할 때에는 맨 처음의 "UTF-16 LE (일명, 그냥 '유니코드')"를 사용하는 것이 좋습니다. 그렇지 않으면 에러가 발생할 가능성이 높습니다.
일반문서 (ASCII,EUC-KR), 웹용 유니코드(UTF-8), 윈도우용 유니코드(Unicode)
(1) 일반 텍스트 문서(EUC-KR):
이것은 아스키 문서이며 유니코드가 아닙니다.
영문/숫자/기호는 1바이트. 한글과 한자는 2바이트로 표현됩니다.
euc-kr (ksc_c_5601-1987) 로 불리는 인코딩이며 웹페이지 작성에 사용할 수 있습니다. 특수한 외국어 문자나 일본식/중국식 한자는 표현할 수 없습니다.
(2) 일반 유니코드(Unicode)
모든 글자를 2바이트로 표현합니다. 전세계 모든 글자들을 한꺼번에 표현할 수 있습니다. OS 내부적으로 사용
인터넷에 HTML 파일로 올릴 수 없습니다. 즉 웹페이지 작성에 쓸 수 없습니다.
(3) UTF-8 유니코드:
영문/숫자/기호는 1바이트로, 한글과 한자 등은 3바이트로 표현합니다.
전세계 모든 글자들을 한꺼번에 표현할 수 있습니다.
웹페이지 작성에 쓸 수 있습니다.
MS윈도우2000/XP 이상에서는, 외부적으로는 '일반 아스키 인코딩(1번)'을 사용하고, 내부적으로 '일반 유니코드(2번)'를 사용
유닉스/리눅스/오픈소스 진영에서는 (1)번 또는 'UTF-8 유니코드(3번)'를 기본으로 사용합니다.
그렇지만 윈도 메모장에서도 UTF-8 유니코드 문서를 읽고 저장할 수는 있습니다.