[용어정리]
한글 - 완성형 코드 : 한글 한글자 한글자에 해당하는 코드표를 만들어 1:1 맴핑
하여 글자를 찾는 방식 (논리성 없음)
전세계 문자가 한글처럼 과학적으로 만들어 지지 못하고
그림형태로 만들어진 문자가 많기 때문.
한글 - 조합형 코드 : 논리적 코드생성
변환단계 1 - 기본 초성, 중성, 종성 코드표만을 사용하여 코드 검색
예) 장
ㅈ 01110 +
ㅏ 00011 +
o 10111 +
변환 단계 2 : 01110(5bit) + 00011(5bit) + 10111(5bit) 합성( 총 15bit )
변환 단계 3 : 1+ 01110(5bit) + 00011(5bit) + 10111(5bit) 합성( 최종 총 16bit 생성)
변환 단계 2 제일 선두에 1 추가 해서 16bit (2byte) 문자코드 생성
한글학회 한글창시의 과학적 우수성을 살리기 위해 조합형이 한글 표준으로
채택되어야 한다고 주장. (순수 초성,중성,종성 의 조합법을 강조 )
한국인 입장에서는 맞는 말이지만 전세계 언어 규격화 입장에서 봤을때
한글만 예외를 둘 수 없어서 MS 는 한글 완성형 방식을 우선적으로 사용
인코딩
-문자를 컴퓨터에 저장하거나 통신으로 전송할 목적으로 부호화 하는 방법을 가리킨다.
유니코드란 ?
우리는 흔히 유니코드라 함은 문자를 2byte 로 인코딩 하는 기법이라 알고 있다.
아래 Euc-KR과 CP949 의 요약내용을 보면 알겠지만 이 둘은 모두 2byte 처리기법을
사용하고 있다.
그럼 과연 Euc-KR과 CP949 를 유니코드라 명명할 수 있는가?
답은 안된다 이다. 이유는 다음과 같다.
유니코드란 이름에서 알수 있듯 전세계 모든 문자를 하나의 코드표로 통합시킨 개념이다.
즉, 유니코드 안에는 전세계 모든 언어의 문자가 들어 있어야 한다는 대 전제가 있다.
하지만, Euc-KR 과 CP949 안에는 통상문자(영어, 특수문자) 와 한글 밖에는 없다.
그러므로 Euc-KR 과 CP949 를 가지고 유니코드란 표현을 쓰면 안된다.
그러므로 우리는 전세계 모든 문자를 표현 할 수 있는 인코딩인 UTF 를 유니코드라 할 수 있다.
ACSII 인코딩
-128 개의 문자코드 정리표로 오직 1byte 인코딩
-영어, 통상 특수문자만 표현가능
-한글 및 기타 외국어 표현 안됨
Euc-KR 인코딩 ( Extended Unix Code Page)
-완성형 코드페이지
-유닉스 계열의 코드페이지
-가변길이 방식의 영어, 특수문자, 한글, 일부한자 만 표현가능
통상문자 (영어.특수문자) 일 경우 1 Byte KS X 1003 코드표 참조 (1Byte)
한글 일 경우 2 Byte KS X 1001 코드표 참조 (2Byte)
- 2,350 자의 한글 표현 가능
-ISO/IEC 2022 표준
CP949 인코딩 ( Extended Windows Code Page )
-확장 완성형 코드 페이지 / Euc-KR 과 호환 됨)
완성형 코드표에 없는 한글 글자를 조합형으로 처리하는 로직을 가지고 있음
-윈도우 계열의 코드 페이지
-가변길이 방식의 영어, 특수문자, 한글, 일부한자 만 표현가능
통상문자 (영어.특수문자) 일 경우 1 Byte KS X 1003 코드표 참조 (1Byte)
한글 일 경우 2 Byte KS X 1001 코드표 참조 (2Byte)
그외 조합형 병행 사용
11,172 자의 한글 표현 가능
-Euc-KR보다 많은 한글 수 표현 가능
-CP949 에서 Euc-KR 로 변환이 잘 안될 경우의 원인 :
CP949 가 Euc-kR 보다 더 많은 문자조합의 경우 수를 가지고 있기 때문
-Euc-KR 를 따라한 개념으로 ISO/IEC 2022 표준 채택은 안되어 있음.
-델파이 한글 표기에 사용
UTF-8 인코딩 (유니코드)
-유닉스/윈도우 양쪽 계열 모두에서 사용되는 확장 완성형 코드 페이지
-전 [ 세계 모든 문자 코드 페이지 ] 포함
-가변길이 문자 인코딩 방식
-통상문자 (영어.특수문자) 일 경우 1Byte 사용
ASCII 코드 1 Byte 로 표현 (그러므로 ASCII 코드는 UTF-8의 일부분이다.)
-Euc-KR 과 CP949 코드표와 호환성 없음
UTF-8 내부 저장방식을 보면
한 문자를 표현/저장하기 위해 최소 1byte 에서 최대 4 byte 까지 동적으로 사용한다.
(다른 문자는 다른 바이트 수로 표현 될 수 있다.)
1Byte 의 최상위 4bit 에 문자기록에 사용되는 byte 수 기록
문자기록에 필요한 byte 수가 1byte 일 경우 최상위 bit 는 0 으로 시작
문자기록에 필요한 byte 수가 2byte 일 경우 최상위 bit 는 110 으로 시작
문자기록에 필요한 byte 수가 3byte 일 경우 최상위 but 는 1110 으로 시작
문자기록에 필요한 byte 수가 4byte 일 경우 최상위 but 는 1111 으로 시작
ASCII 는 1byte 사용, 한글은 무조건 3byte 인코딩이다.
즉 내부적으로 봤을때 유니코드는 무조건 2byte 처리란 말은 완전히 틀린 개념이다.
이 말을 어느 누가 제일 먼저하고 전파시킨 지는모르겠으나 유니코드가 2byte 란 개념은
완전히 잘못된 개념이니 지금 부터는 올바르게 이해하기 바란다.
UTF-8 은 한글 문자에 무조건 2byte 코드표를 참조하는 Euc-KR 과 CP949 와는 완전히 다른 개념이다.
-2014년 현재 1,114,112 개의 글자 표현 가능 ( 매년 지속적인 버젼업으로 글자수 추가중 )
UTF-16/UTF-32
UTF-8 A라는 문자표현을 0x41 1Byte 로 표현함
UTF-16 A라는 문자표현을 0x0041/0x4100 2Byte 로 표현함
(Little-Endian/Big-Endian 닭이 먼저냐 알이 먼저냐)
UTF-32 A라는 문자표현을 0x00000041/0x41000000 4byte 로 표현함
(LE/BE 닭이 먼저냐 알이 먼져냐)
컴파일러에 따라 Little-Endian 인지 Big-Endian 인지를 가리기 때문에
이 옵션이 추가 된 것 같다.
유니코드(Little-Endian)
유니코드(Big-Endian)
[출처 : https://www.delmadang.com/community/bbs_view.asp?bbsNo=3&bbsCat=0&indx=453819&page=2]
'Academy I > IT' 카테고리의 다른 글
인텔 코어 i3-10300 성능 유출, 코어 i7-7700K급 (0) | 2019.12.30 |
---|---|
WD Blue SN550 NVMe M.2 SSD (0) | 2019.12.11 |
크롬 PIP 모드로 동영상을 팝업창으로 재생하는 방법 (0) | 2019.11.25 |
[갤럭시]보안정책에 따라 지문 대신 패턴을 입력하세요 (0) | 2019.11.19 |
DHL 사칭 악성 스팸메일 안내 (0) | 2019.11.05 |
스마트폰 공기계 사용방법 (0) | 2019.11.04 |
AMD Ryzen 3000 kompatibilitet hos B350, X370, B450 & X470 (0) | 2019.10.31 |
2019년 5G 최신폰 3.5㎓만 지원 (28㎓ 미지원) (0) | 2019.10.23 |