메모장의 인코딩 옵션을 살펴보면 UTF-8과 UTF-8(BOM)이 있다.
그리고 Visual studio 고급 저장 옵션에는 서명있는 UTF-8과 서명있는 UTF-8이 있다.
둘의 차이는 무엇일까?
BOM은 Byte Order Mark의 약자로 해당 문서가 UTF-8 인코딩임을 텍스트를 읽는 프로그램에 알리기 위한 용도로 파일 시작 부분에 위치하는 특별한 바이트 시퀀스이다.
UTF-8과 비교해 UTF-8(BOM)의 차이는 파일 맨 앞에 EF BB BF가 붙는다는 것 뿐인데, UTF-8(BOM) 인코딩의 빈 텍스트 파일을 만들고 format-hex 명령어를 사용해서 hex dump를 해보면 알 수 있다.
UTF-8에 BOM을 붙이는 것은 유니코드 표준에서 허용하지만 필수나 권장사항이 아니고, 대부분의 경우에는 BOM이 없어도 UTF-8로 인코딩된 텍스트 파일을 올바르게 해석할 수 있다. 심지어 BOM이 있으면 텍스트 편집기나 프로그램이 잘못해석하는 경우도 더러 있다.
보통 윈도우 프로그램에서 UTF-8(BOM)을 사용하는 경우가 많고, 윈도우를 제외한 다른 플랫폼에서는 UTF-8을 기본으로 사용하는 경향이 있다고 한다.
때문에 여러 운영체제간 공유해야 하는 텍스트 파일이라면 UTF-8 인코딩을 사용하는 것이 좋을 듯 하다.
'지식창고 > IT 지식' 카테고리의 다른 글
스위치, 허브, 라우터, 공유기 차이점 (0) | 2023.12.16 |
---|---|
ISO 국가표준 규격서 무료 열람 (0) | 2023.12.10 |
랜카드 2개 사용시 각기 다른 용도로 사용하도록 라우팅 경로 설정하기 (0) | 2023.11.16 |
클라이언트에서 서버로 ping은 되는데 connect가 안될 때, 방화벽 확인 (0) | 2023.11.12 |
Doxygen (0) | 2023.09.29 |