그래 그리 쉽지는 않겠지

검색

검색 아이콘검색을 여는 아이콘

UTF-8

2023-11-07

가변 길이(1~4바이트) 인코딩의 한 종류

인코딩

코드 포인트를 메모리에 저장하는 방식

# UTF-32 에서의 인코딩

코드 포인트를 그대로 4바이트 정수로 저장

  • 코드 포인트: U+1F4A9
  • UTF-32: 00 01 0F A9

# UTF-8 에서의 인코딩

Code pointByte 1Byte 2Byte 3Byte 4
U+0000 ~ 007F0xxxxxxx
U+0080 ~ 07FF110xxxxx10xxxxxx
U+0800 ~ FFFF1110xxxx10xxxxxx10xxxxxx
U+10000 ~ 10FFFF11110xxx10xxxxxx10xxxxxx10xxxxxx

# 특징

  • ASCII 코드와 완벽히 호환(동일)
  • 영어에 대해 공간 효율적
    • 기술 문자열(e.g. html, json)에 적합
  • 오류 감지 및 복구 기능이 내장
    • 첫 번째 바이트의 접두사는 항상 2~4바이트와 다르게 보임

#

  • 코드 포인트 U+FFFD
  • 유니코드 오류를 감지할 때 사용

# Reference