UTF-8
가변 길이(1~4바이트) 인코딩의 한 종류
인코딩
코드 포인트를 메모리에 저장하는 방식
# UTF-32 에서의 인코딩
코드 포인트를 그대로 4바이트 정수로 저장
- 코드 포인트:
U+1F4A9
- UTF-32:
00 01 0F A9
# UTF-8 에서의 인코딩
Code point | Byte 1 | Byte 2 | Byte 3 | Byte 4 |
---|---|---|---|---|
U+0000 ~ 007F | 0xxxxxxx | |||
U+0080 ~ 07FF | 110xxxxx | 10xxxxxx | ||
U+0800 ~ FFFF | 1110xxxx | 10xxxxxx | 10xxxxxx | |
U+10000 ~ 10FFFF | 11110xxx | 10xxxxxx | 10xxxxxx | 10xxxxxx |
# 특징
- ASCII 코드와 완벽히 호환(동일)
- 영어에 대해 공간 효율적
- 기술 문자열(e.g. html, json)에 적합
- 오류 감지 및 복구 기능이 내장
- 첫 번째 바이트의 접두사는 항상 2~4바이트와 다르게 보임
# �
- 코드 포인트
U+FFFD
- 유니코드 오류를 감지할 때 사용