새로운 질서 위키

UTF-8

UTF-8의 UTF는 Unicode Transformation Format의 줄임말이다. UTF-8은 유니코드 문자를 1~4바이트의 가변 길이로 기록하는 인코딩이다. 글자마다 쓰는 바이트 수가 같지 않으므로 문자 수와 파일 크기를 구분해야 한다. (유니코드 컨소시엄의 UTF FAQ)

  • ASCII 범위의 문자는 기존과 같은 바이트 값을 유지한다. 예컨대 영문 A는 1바이트이고 한글 가는 UTF-8에서 3바이트다.
  • HTML이나 CSV를 전달할 때는 저장에 사용한 인코딩과 읽는 쪽의 설정을 맞춘다. UTF-8이라고 선언만 하고 다른 인코딩으로 저장하면 한글이 제대로 해석되지 않을 수 있다. (W3C의 문자 인코딩 설명)
  • 깨진 글을 다시 저장하기 전에 원래 파일과 인코딩을 확인한다. 이미 다른 문자로 덮어쓴 경우에는 설정만 바꿔 원문을 되찾지 못할 수 있다. 문자 깨짐은 저장과 해석을 구분해 살펴볼 문제다.

기타 등등

  • UTF-8에서는 바이트 순서를 구분할 필요가 없다. BOM(Byte Order Mark)이 있더라도 바이트 순서를 알리는 용도가 아니라 인코딩의 표식으로 쓰인다. 출처
  • UTF-16의 서로게이트 쌍을 각각 3바이트로 바꾼 6바이트 표기는 올바른 UTF-8이 아니다. 해당 문자는 UTF-8에서 하나의 4바이트 시퀀스로 기록한다. 출처

#문자 #파일 #표준 #기초

검색