UTF-8(8-bit Unicode Transformation Format)은 가변 길이 문자 인코딩 방식으로, Unicode 문자를 포함하는 텍스트를 컴퓨터에서 표현하기 위해 사용된다. 1993년에 제정된 UTF-8은 ASCII와 호환되며, 1바이트부터 4바이트까지의 길이를 사용하는 방식으로 다양한 문자 세트를 지원한다.
UTF-8의 주요 특징은 다음과 같다. 첫째, ASCII 문자(0-127)는 1바이트로 표현되며, 기존 ASCII 코드와의 호환성이 유지된다. 둘째, 유니코드의 여러 문자는 2, 3, 4바이트로 인코딩될 수 있어, 다양한 언어와 기호를 지원한다. 셋째, 첫 바이트의 비트 패턴을 통해 각 문자의 바이트 수를 쉽게 식별할 수 있어 인코딩 및 디코딩 과정에서 효율성을 제공한다. 예를 들어, 첫 바이트가 0xxxxxxx인 경우 1바이트, 110xxxxxx인 경우 2바이트, 1110xxxx인 경우 3바이트, 11110xxx인 경우 4바이트로 해석된다.
또한, UTF-8은 전 세계의 모든 문자를 표현할 수 있는 장점으로 인해 웹 표준에서 널리 사용되며, 특히 HTML과 XML에서 기본 인코딩으로 채택된다. 다양한 운영체제와 프로그래밍 언어에서도 지원되며, 국제화 및 다국어 지원에 필수적인 요소로 자리 잡았다.
UTF-8은 단점도 존재하는데, 문자 수에 따라 파일 크기가 달라지며, 단일 바이트로 표현되지 않는 문자의 경우 데이터 처리 속도가 저하될 수 있다. 그러나 이러한 단점에도 불구하고 UTF-8은 그 범용성과 호환성 덕분에 가장 널리 사용되는 문자 인코딩 방식 중 하나로 남아 있다.