정의
언어, 특수문자, 이모티콘까지 코드로 표현할 수 있는 통일된 문자 집합입니다.유니코드가 없었다면, 각각 언어마다 다른 문자 집합과 인코딩 방식을 이해할 필요가 없습니다.
유니코드 문자 집합에 속한 문자에는 고유한 값이 부여되어 있습니다.
U+라는 문자열을 유니코드 문자에 부여된 값 앞에 붙이기도 하는데, 이는 16진수 유니코드를 표현할 때 사용하는 표기입니다
아스키 코드나 EUC-KR처럼 유니코드 문자 집합에 속한 문자에는 고유한 값이 부여되어 있습니다.
예를 들어, 유니코드 문자 집합 상에서 '한', '글'이라는 글자에 부여된 값은 각각 '0xD55C', '0xAE00'입니다.
특징
유니코드는 기존의 문자 집합과 인코딩 방법이 다릅니다.유니코드 문자에 부여된 값을 인코딩하는 방식에는 UTF-8, UTF-16, UTF-32가 있습니다.
UTF-8, UTF-16, UTF-32는 인코딩 결과의 길이가 일정하지 않습니다. (가변 길이 인코딩 방식)
같은 글자에도 인코딩 방식에 따라 다른 값을 제공합니다.
예시
16진수 형태의 코드포인트를 출력하는 코드입니다.a = hex(ord('한'))
b = hex(ord('글'))
print(a) # result : 0xd55c
print(b) # result : 0xae00
a8 = '한'.encode('utf-8');
a16 = '한'.encode('utf-16');
a32 = '한'.encode('utf-32');
print(a8.hex()) # result : ed959c
print(a16.hex()) # result : fffe5cd5
print(a32.hex()) # result : fffe00005cd50000