한글코드의 종류 -- 영어코드는 ASCII 외에도 EBCDIC 코드가 있음!
1) n바이트, 3바이트, 상용조합형 등
2) KS 완성형 -- KS C 5601-1987, KS X 1001, EUC-KR, CP949
3) 유니코드 -- UCS2, UCS4, UTF8, UTF16BE, UTF16LE, UTF32
아래 한글코드 중에서 입력된 "한글 문자열"이 어떤 코드인지 자동으로 인식!
1. KS완성형(EUC-KR 또는 CP949)
2바이트로 구성됨 -- 각 바이트 범위는 0xA1~0xFE
한글 모든 음절 11,172자 중에서 2,350자를 <0xB0~C8, 0xA1~FE> 코드로 부여
'가': 0xB0A1, '힝': 0xC8FE
2. 유니코드(UTF8, UTF16BE, UTF16LE)
한글 모든 음절 11,172개를 순서대로 코드 부여 -- 0xAC00~0xD7A3
<주의> 유니코드 인코딩 기법 -- UTF8, UTF16, UTF32
//==== 한글코드 예제: Sample 한글 텍스트
// 윈도 -- 메모장 이용, 리눅스 -- iconv 이용
가각간갇
힝힣
// (주의) 아래 hexa 코드들은 모두 역워드 형식임! 윈도에서...
//==== EUC-KR --> 실제 byte stream은 "b0 a1 b0 a2 b0 a3 ..."
0000000 a1b0 a2b0 a3b0 a4b0 0a0d fec8 52c6 0a0d
0000020 0a0d 0a0d
//==== UTF8 --> 실제 byte stream은 "ef bb bf ea b0 80 ea b0 81 ..."
0000000 bbef eabf 80b0 b0ea ea81 84b0 b0ea 0d87
0000020 ed0a 9d9e 9eed 0da3 0d0a 0d0a 000a
//==== UTF16LE --> 실제 byte stream은 "ff fe 00 ac 01 ac 04 ac ..."
0000000 feff ac00 ac01 ac04 ac07 000d 000a d79d
0000020 d7a3 000d 000a 000d 000a 000d 000a
//==== UTF16BE --> 실제 byte stream은 "fe ff ac 00 ac 01 ac 04 ..."
0000000 fffe 00ac 01ac 04ac 07ac 0d00 0a00 9dd7
0000020 a3d7 0d00 0a00 0d00 0a00 0d00 0a00