한글 코드
영문 코드
EBCDIC
IBM 정보 교환을 위한 Extended BCD 코드
ASCII
American Standard Code for Information Interchange
미국 표준 코드
영문자 52개
대문자 0x41 ~ 0x5A
소문자 0x61 ~ 0x7A
숫자10개
0x30 ~ 0x39
특수문자 34개
제어문자 32개
0x00 ~ 0x1F
CR(Carriage Return) : 커서를 맨 좌측으로 옮김 0x0D
LF(Line Feed) : 커서를 현재 행에서 다음 행으로 옮김 0x0A
Window 환경에서는 CR+LF(0x0D + 0x0A)
Linux 환경에서는 0x0A
한글 코드
N 바이트 코드
자음 14+5+11자: 영문 대문자, [, \, ], ^ (30개) 로 mapping
모음 21자 : 영문 소문자로 mapping
최상위 비트(MSB)를 사용하지 않고 한글을 전송하므로 하위 호환성을 유지할 수 있음.
한글이 나오는 부분을 SI(^N)와 SO(^O)로 둘러 싸서 구분한다.
* SI(Shift In) : ctrl + O (영어모드로 들어옴)
*SO(Shift Out) : ctrl + N (영어모드 벗어남)
* default 모드 : 영어 모드
그 안에서는 홀낱자를 순서대로 배열하여 한글을 표현한다.
안녕 -> ㅇㅏㄴㄴㅕㅇ -> <SI>WbDDjW<SO>
N 바이트는 한 음절에 대해 2~5 바이트로 가변적이여서 정렬하기 쉽지 않다.
와 : <SI>Wlb<SO> or <SI>Wm<SO>
3 바이트 코드
한 글자의 길이가 가변적인 N 바이트 조합형 의 단점을 보완하기 위해,
한글 한 글자를 초성, 중성, 종성으로 나누고 각각을 인코딩하여 항상 3바이트로 표현하는 방법이다.
종성(받침)이 없는 경우 채움 문자를 넣어서 쓴다.
복자음(ㄳ,ㄽ), 복모음(ㅢ,ㅘ)에 독자적인 코드를 부여
한글 한 글자의 길이가 일정하게 유지되기 때문에 처리가 편리하지만,
2바이트 조합형에 비해서는 결과물이 길다.
상용 조합형 한글 코드 = 2 바이트 코드
한글 상용 조합형 인코딩 또는 상용 조합형은 2바이트 문자 인코딩으로, 그냥 조합형이라고도 불린다.
상용 조합형에서는 한글을 2바이트 코드로 표현하며,
한-영을 구분하기 위해 최상위 비트(MSB)는 1로 설정하고,
초성, 중성, 종성에 각각 5비트씩 할당하여 차례로 조합한다.
국제 표준을 따르지 않는다.
가 : ‘ㄱ' ‘ㅏ' ‘채움' -> 1 00010 00011 00001
초성 ‘ㄱ' -> 1 00010 00010 00001
<출처 WikiPedia>
KS 완성형 한글 코드
한글 조합형 인코딩을 사용하는 업체와 사용하지 않는 업체를 통일하기 위해 국제 표준에 맞는
KS 완성형 한글 코드를 제작.
한글 전체 11,172자 중 2,350자(25*94) 에 대한 코드 부여
이에 정의되지 않은 문자가 포함됨 : 똠/펲/웤/긂 등.
상위 바이트 : 0xB0 ~ 0xC8(25개)
하위 바이트 : 0xA1 ~ 0xFE(94개)
가(0xB0A1) ~ 힝(0xC8FE) 으로 표현.
printf(“%c%c”,0xB0,0xA1);
'정보검색-데이터마이닝' 카테고리의 다른 글
Stemming (0) | 2016.10.16 |
---|---|
정보 검색 개요 (0) | 2016.10.16 |
한글 인코딩과 변환 코딩 (0) | 2016.10.15 |
유니코드 Unicode (0) | 2016.10.15 |
한글 코드
영문 코드
EBCDIC
IBM 정보 교환을 위한 Extended BCD 코드
ASCII
American Standard Code for Information Interchange
미국 표준 코드
영문자 52개
대문자 0x41 ~ 0x5A
소문자 0x61 ~ 0x7A
숫자10개
0x30 ~ 0x39
특수문자 34개
제어문자 32개
0x00 ~ 0x1F
CR(Carriage Return) : 커서를 맨 좌측으로 옮김 0x0D
LF(Line Feed) : 커서를 현재 행에서 다음 행으로 옮김 0x0A
Window 환경에서는 CR+LF(0x0D + 0x0A)
Linux 환경에서는 0x0A
한글 코드
N 바이트 코드
자음 14+5+11자: 영문 대문자, [, \, ], ^ (30개) 로 mapping
모음 21자 : 영문 소문자로 mapping
최상위 비트(MSB)를 사용하지 않고 한글을 전송하므로 하위 호환성을 유지할 수 있음.
한글이 나오는 부분을 SI(^N)와 SO(^O)로 둘러 싸서 구분한다.
* SI(Shift In) : ctrl + O (영어모드로 들어옴)
*SO(Shift Out) : ctrl + N (영어모드 벗어남)
* default 모드 : 영어 모드
그 안에서는 홀낱자를 순서대로 배열하여 한글을 표현한다.
안녕 -> ㅇㅏㄴㄴㅕㅇ -> <SI>WbDDjW<SO>
N 바이트는 한 음절에 대해 2~5 바이트로 가변적이여서 정렬하기 쉽지 않다.
와 : <SI>Wlb<SO> or <SI>Wm<SO>
3 바이트 코드
한 글자의 길이가 가변적인 N 바이트 조합형 의 단점을 보완하기 위해,
한글 한 글자를 초성, 중성, 종성으로 나누고 각각을 인코딩하여 항상 3바이트로 표현하는 방법이다.
종성(받침)이 없는 경우 채움 문자를 넣어서 쓴다.
복자음(ㄳ,ㄽ), 복모음(ㅢ,ㅘ)에 독자적인 코드를 부여
한글 한 글자의 길이가 일정하게 유지되기 때문에 처리가 편리하지만,
2바이트 조합형에 비해서는 결과물이 길다.
상용 조합형 한글 코드 = 2 바이트 코드
한글 상용 조합형 인코딩 또는 상용 조합형은 2바이트 문자 인코딩으로, 그냥 조합형이라고도 불린다.
상용 조합형에서는 한글을 2바이트 코드로 표현하며,
한-영을 구분하기 위해 최상위 비트(MSB)는 1로 설정하고,
초성, 중성, 종성에 각각 5비트씩 할당하여 차례로 조합한다.
국제 표준을 따르지 않는다.
가 : ‘ㄱ' ‘ㅏ' ‘채움' -> 1 00010 00011 00001
초성 ‘ㄱ' -> 1 00010 00010 00001
<출처 WikiPedia>
KS 완성형 한글 코드
한글 조합형 인코딩을 사용하는 업체와 사용하지 않는 업체를 통일하기 위해 국제 표준에 맞는
KS 완성형 한글 코드를 제작.
한글 전체 11,172자 중 2,350자(25*94) 에 대한 코드 부여
이에 정의되지 않은 문자가 포함됨 : 똠/펲/웤/긂 등.
상위 바이트 : 0xB0 ~ 0xC8(25개)
하위 바이트 : 0xA1 ~ 0xFE(94개)
가(0xB0A1) ~ 힝(0xC8FE) 으로 표현.
printf(“%c%c”,0xB0,0xA1);
'정보검색-데이터마이닝' 카테고리의 다른 글
Stemming (0) | 2016.10.16 |
---|---|
정보 검색 개요 (0) | 2016.10.16 |
한글 인코딩과 변환 코딩 (0) | 2016.10.15 |
유니코드 Unicode (0) | 2016.10.15 |