2006-02-17

유니코드와 같은 코드의 종류와 그 코드가 쓰이는 방법

1. 아스키 코드(ASCII)
주로 영어와 몇몇 기호를 표시하기 위해 씁니다. 코드값은 0x00 ~ 0x7F사이의 값을 가집니다.

2. ISO-8859-1 부터 ISO-8859-15
주로 유럽에서 쓰이는 언어들(독일어,프랑스어,터키어,그리스어,키릴어(러시아 등) 등등)을
표현하기 위해 쓰입니다. 0x00 ~ 0xFF까지의 값을 가지는데 0x00 ~ 0x7F는 아스키와 동일합니다.

3. 한글 완성형 코드(EUC-KR, UHC)
UHC는 M$ 확장 완성형이라고도 하고, 마이크로소프트사에서 EUC-KR을 기반으로 확장한 것입니다.
0x00 ~ 0x7F의 아스키도 포함합니다.
EUC-KR의 경우 0xA1A1 ~ 0xFEFE값을 가지며, 한글, 한자, 기호 등이 있고, 값에서 알 수 있듯이
2바이트가 하나의 문자를 표현합니다.
UHC는 여기서 첫바이트는 0x81 ~ 0xA0값도 사용하고, 두번째 바이트는 0x41 ~ 0x5A,
0x61 ~ 0x7A, 0x80 ~ 0xA0값도 사용합니다.

4. 한글 조합형 코드(JOHAB)
0x00 ~ 0x7F의 아스키를 포함합니다.
역시 두바이트가 하나의 문자를 표현하는데, 두바이트인 16비트를 가지고 첫비트는 무조건 1,
다음 2 ~ 6 비트가 초성, 7 ~ 11비트가 중성, 12 ~ 16비트가 종성을 나타냅니다.

5. 일본어 EUC-JP 코드
0x00 ~ 0x7F는 아스키
0xA1A1 ~ 0xFEFE는 일본어 글자인 히라가나, 카타카나, 한자, 그리스어, 키릴어 및 각종 기호 영역
0x8EA1 ~ 0x8EFE는 반각 카타카나 영역
0x8FA1A1 ~ 0x8FFEFE는 확장된 그리스어, 키릴어, 한자 등이 있는 영역입니다.
값에서 알 수 있듯이 한 문자를 표현하기 위해 3바이트를 쓰는 경우가 있습니다.

6. 일본어 SHIFT_JIS 코드
0x00 ~ 0x7F는 아스키
정확하게 값이 기억은 안나지만 0x8140부터 시작하는 두바이트로 된 코드들이 있는데
EUC-JP의 0xA1A1 ~ 0xFEFE에 해당하는 문자들이 있습니다.
0xA1 ~ 0xFE는 반각 카타카나 영역입니다.

7. 중국어 GB-2312(간체) 코드
0x00 ~ 0x7F는 아스키
0xA1A1 ~ 0xFEFE 사이에 수많은 한자들과 기호등등의 문자들이 있습니다.

8. 중국어 HZ(간체) 코드
GB-2312를 특정한 방식에 따라 인코딩한 것입니다.

9. 중국어 BIG-5(번체) 코드
0x00 ~ 0x7F는 아스키
두바이트가 한 문자가 되는 코드들이 있는데 이 코드는 변종이 많아서 정확한 값은 모르겠습니다.

10. 중국어 GBK(간체) 코드
마이크로소프트사에서 GB-2312를 기반으로 확장한 코드입니다.

11. 중국어 GB18030 코드
GBK를 포함합니다.
여기다가 한 문자를 표현하기 위해 4바이트까지 확장해서 씁니다.
유니코드에 포함된 모든 문자가 포함되어 있습니다.

12. 한글 ISO-2002-KR
EUC-KR을 특정한 방식에 따라 인코딩한 것입니다.

13. 일본어 ISO-2022-JP/ISO-2022-JP2
EUC-JP와 EUC-KR, GB-2312, ISO-8859-1, ISO-8859-7을 특정한 방식에 따라 인코딩한 것으로
ISO-2022-JP2는 ISO-2022-JP의 확장으로 보시면 됩니다.

14. 중국어 ISO-2022-CN/ISO_2022-CN-EXT
GB-2312, BIG-5에 포함하는 문자 및 기타 다른 여러 중국어 코드들을 특정한 방식에 따라
인코딩한 것입니다.
여기서 알 수 있겠지만 중국어 관련 코드는 위에서 소개한 것 말고도 엄청나게 많습니다.
심지어는 조선족을 위한 (한글) 코드까지 있는 것으로 알고 있습니다.

15. 유니코드
전 세계의 존재했거나, 존재하거나, 앞으로 생길지도 모르는 모든 문자를 지원하기 위해
만들어진 것으로 알고 있습니다. 각종 현대문자, 고대문자, 기호 등등을 포함하며
UTF-32, UTF-16, UTF-8, UTF-7등등의 인코딩 방식에 따라 인코딩되어 사용되고 있습니다.
유니코드에 대한 자세한 설명은 http://www.unicode.org 에서 찾아 읽으시는게 좋을 듯합니다.
물론 국내에도 꽤나 괜찮은 문서들을 검색을 통해 찾아볼 수도 있을 겁니다.

16. 기타 등등
이밖에도 베트남, 인도, 북한의 코드도 따로 있습니다.
베트남은 한자만 있는 코드와 라틴어와 유사한 표기로 되어 있는 코드가 별도로 있는 걸로 알고 있고,
인도는 각 지방마다 글자가 다르기 때문에(음은 같다고 하는 것 같구요..) 표준화된 코드가
나온지 얼마 안된 거로 알고 있습니다. 북한은 한글 완성형 EUC-KR과 거의 유사하게 되어 있고,
특이한 점은 "김일성", "김정일"에 해당하는 6글자의 코드가 특별한 값으로 따로 만들어져 있다는
것입니다.
음.. 별로 도움될 만한 내용은 아니군요...

그밖에도 도스 시절에 도스 환경에서 쓰는거냐, IBM사의 기계에서 쓰는거냐,
맥킨토시에서 쓰는거냐 등등에 따라서도 각각 다른 코드가 있습니다.

댓글 없음: