티스토리 뷰
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로 변환해주는게 좋을 것 같습니다.
'HTML, CSS' 카테고리의 다른 글
Html에서 tabindex로 포커스 이동하기 (1) | 2022.05.24 |
---|---|
크롬으로 HTTP Header 확인하기 (0) | 2019.12.17 |
HTML 첨자 사용 - sub 태그와 sup 태그 차이 (0) | 2019.04.15 |
아이폰 브라우저에서 클릭을 두 번해야 동작하는 문제 (0) | 2019.04.02 |
- Total
- Today
- Yesterday
- Roma
- ASP.NET
- URL
- 체크박스
- html
- 이순신
- MS-SQL
- 인코딩
- 근위병교대식
- 영국
- DATEDIFF
- 로마
- favicon
- toFixed
- 런던
- london
- 환경호르몬
- javascript
- jquery
- 태풍
- 고성
- ASP
- 플라스틱
- 한글깨짐
- 비스페놀A
- USB
- 템즈강
- iframe
- 자바스크립트
- mssql
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |