UTF-8

정의
UTF-8(UCS Transformation Format 8-bit)은 유니코드(Uni code) 문자 집합의 각 코드 포인트를 바이트 단위로 인코딩하는 가변 길이 문자 인코딩 방식이다. 가장 많이 사용되는 문자에는 1바이트를, 보다 넓은 범위의 문자에는 최대 4바이트를 사용하여 효율적인 저장과 전송을 가능하게 한다.

개요
UTF-8은 국제 표준 ISO/IEC 10646 및 유니코드 표준에서 채택된 인코딩 방식 중 하나로, 전 세계의 다양한 문자 체계를 통합적으로 표현할 수 있도록 설계되었다. 아스키(ASCII) 문자 집합과 완전한 하위 호환성을 가지며, 영어 중심의 텍스트에서 특히 저장 공간을 절약할 수 있다. 현재 웹 페이지, 운영 체제, 소프트웨어 등 거의 모든 디지털 환경에서 기본 문자 인코딩으로 널리 사용되고 있다.

어원/유래
UTF-8은 1992년 캐나다의 정보기술 전문가인 로브 파이크(Rob Pike)와 켄 톰프슨(Ken Thompson)이 벨 연구소(Bell Labs)에서 개발하였다. 두 사람은 유닉스(UNIX) 운영 체제 환경에서 다국어 지원을 효율적으로 구현하기 위해 이 방식을 고안했으며, 기존 아스키 인코딩의 하위 호환성을 유지하면서도 유니코드의 전체 범위를 수용할 수 있도록 설계하였다. "UTF"는 "UCS Transformation Format"의 약자이며, "8"은 최소 단위가 8비트(1바이트)임을 의미한다.

특징

  • 가변 길이 인코딩: 문자에 따라 1~4바이트를 사용하여 인코딩하며, 아스키 문자는 1바이트로 표현된다.
  • 아스키 호환성: ASCII 코드 범위(0x00 ~ 0x7F)는 동일한 값으로 인코딩되므로 기존 아스키 텍스트와 호환된다.
  • 비트 패턴 기반 구조: 각 바이트의 비트 패턴을 통해 멀티바이트 시퀀스의 시작과 연속성을 식별할 수 있어, 오류 복구와 파싱이 비교적 용이하다.
  • 바이트 순서 마크(BOM) 불필요: UTF-16이나 UTF-32과 달리 바이트 순서(Endianness)에 의존하지 않으므로, 일반적으로 BOM이 필요하지 않다.

관련 항목

  • 유니코드 (Unicode)
  • UTF-16
  • UTF-32
  • ASCII
  • ISO/IEC 10646
  • 문자 인코딩 (Character encoding)
  • IETF (인터넷 기술 태스크 포스) – RFC 3629 (UTF-8의 공식 명세)
둘러보기

더 찾아볼 만한 주제