티스토리 뷰

HTML, CSS

UTF-8과 UTF-8(BOM)의 차이

travelpark 2022. 7. 11. 11:50
반응형

Visual Studio Code를 비롯한 다양한 소스 코드 편집기를 사용하다보면 파일 인코딩 방식 저장 시 UTF-8과 UTF-8(BOM)으로 나누어 저장할 수 있는 걸 보실 수 있습니다.

UTF-8과 UTF-8(BOM) 차이를 알기 위해선 먼저 BOM에 대해 알아봐야 합니다. BOM은 바이트 순서 표시(Byte Order Mark)의 약자로 유니코드 문자 U+FEFF를 문서의 가장 앞에 추가하여 텍스트를 읽는 프로그램에 정보를 전달합니다.

유니코드 표준은 UTF-8에 BOM을 허용하지만 필수나 권장 사항은 아니고 UTF-8로 인코딩된 것을 표시하는 용도밖에 없다고 합니다. UTF-16이나 UTF-32는 바이트 순서에 따라 인코딩 방식이 나뉘기도 합니다.

그렇기 때문에 BOM이 존재하는 경우 다른 인코딩으로 변환했다가 되돌릴 때 정보가 손실되지 않고 코드가 계속 작동하도록 제거하지 않는 것을 권장하고 있습니다.

윈도우 기본내장 프로그램등에서는 UTF-8(BOM)을 기본으로 사용하며 윈도우는 UTF-8, UTF-8(BOM) 모두 인식하지만 유닉스/리눅스 편집 프로그램에서는 UTF-8을 기본으로 사용하고 있어 UTF-8(BOM)을 사용할 경우 공백 관련 오류가 발생할 수도 있다고 합니다.


UTF-8은 BOM이 없어도 인코딩 방식을 자동으로 알아낼 수 있습니다. 윈도우에서 UTF-8(BOM)을 사용할 경우에도 오류가 자주 발생하지는 않지만 include된 파일에 아무 내용이 없거나 VB 스크립트 파싱 오류가 발생할 수 있기 때문에 왠만하면 UTF-8(BOM)보다 UTF-8로 변환해주는게 좋을 것 같습니다.

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함