ABOUT

성능과 운영 안정성을 함께 끌어올리는 개발자입니다.

92% Positional Error Reduction
79% p95 Latency Improvement
90%+ Long Tasks Reduction

2022.02 · 한국장학재단

우수 멘티

한국장학재단 사회 리더 대학생 멘토링 IT

2022.10 · 동작구청

우수 인재상

동작구청 우수 SW 인재

2025.05 · (주) 그랩

프로그래밍 우수상

(주) 그랩 우수 프로그램 개발

2025.05 · AWSKRUG

AWS한국사용자모임 발표

AI agent 스크립트 튜닝 관련 발표

ComputerScience

Development

Engineering

Trouble Shooting

GUESTBOOK

첫 마음부터
함께 나누는 온기

방명록 작성하러 가기

SUBSCRIBE

최신소식을
편하게 만나보세요.

유니코드 (unicode)

정의

언어, 특수문자, 이모티콘까지 코드로 표현할 수 있는 통일된 문자 집합입니다.
EUC-KR은 한글을 표현하지만 모든 한글 조합을 표현할 수 있을 정도로 많은 양은 아닙니다.
유니코드가 없었다면, 각각 언어마다 다른 문자 집합과 인코딩 방식을 이해할 필요가 없습니다.
유니코드 문자 집합에 속한 문자에는 고유한 값이 부여되어 있습니다.
U+라는 문자열을 유니코드 문자에 부여된 값 앞에 붙이기도 하는데, 이는 16진수 유니코드를 표현할 때 사용하는 표기입니다
아스키 코드나 EUC-KR처럼 유니코드 문자 집합에 속한 문자에는 고유한 값이 부여되어 있습니다.
예를 들어, 유니코드 문자 집합 상에서 '한', '글'이라는 글자에 부여된 값은 각각 '0xD55C', '0xAE00'입니다.

 

특징

유니코드는 기존의 문자 집합과 인코딩 방법이 다릅니다.
아스키 코드EUC-KR은 글자에 부여된 값을 그대로 인코딩 값으로 삼지만, 유니코드는 부여된 값 자체를 인코딩 된 값으로 삼지 않습니다.
유니코드 문자에 부여된 값을 인코딩하는 방식에는 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

 

728x90