UTF-8의 UTF는 Unicode Transformation Format의 줄임말이다. UTF-8은 [[유니코드]] 문자를 1~4바이트의 가변 길이로 기록하는 인코딩이다. 글자마다 쓰는 바이트 수가 같지 않으므로 문자 수와 파일 크기를 구분해야 한다. ([유니코드 컨소시엄의 UTF FAQ](https://www.unicode.org/faq/utf_bom.html)) - ASCII 범위의 문자는 기존과 같은 바이트 값을 유지한다. 예컨대 영문 A는 1바이트이고 한글 가는 UTF-8에서 3바이트다. - [[HTML]]이나 [[CSV]]를 전달할 때는 저장에 사용한 인코딩과 읽는 쪽의 설정을 맞춘다. UTF-8이라고 선언만 하고 다른 인코딩으로 저장하면 한글이 제대로 해석되지 않을 수 있다. ([W3C의 문자 인코딩 설명](https://www.w3.org/International/questions/qa-what-is-encoding)) - 깨진 글을 다시 저장하기 전에 원래 파일과 인코딩을 확인한다. 이미 다른 문자로 덮어쓴 경우에는 설정만 바꿔 원문을 되찾지 못할 수 있다. [[문자 깨짐]]은 저장과 해석을 구분해 살펴볼 문제다. ## 기타 등등 - UTF-8에서는 바이트 순서를 구분할 필요가 없다. BOM(Byte Order Mark)이 있더라도 바이트 순서를 알리는 용도가 아니라 인코딩의 표식으로 쓰인다. [출처](https://www.unicode.org/faq/utf_bom.html) - UTF-16의 서로게이트 쌍을 각각 3바이트로 바꾼 6바이트 표기는 올바른 UTF-8이 아니다. 해당 문자는 UTF-8에서 하나의 4바이트 시퀀스로 기록한다. [출처](https://www.unicode.org/faq/utf_bom.html) #문자 #파일 #표준 #기초