"Encoding"의 두 판 사이의 차이
jjuiddong
(새 문서: * UTF-8 with BOM 파싱 관련 문제 ** Sublime Text 에서 편집한 텍스트 파일은 UTF-8 인코딩 방식으로 데이타를 저장한다. ** 이 파일을 다시 메모장...) |
2019년 3월 6일 (수) 16:52 판
- UTF-8 with BOM 파싱 관련 문제
- Sublime Text 에서 편집한 텍스트 파일은 UTF-8 인코딩 방식으로 데이타를 저장한다.
- 이 파일을 다시 메모장에서 편집하게 되면, UTF-8 with BOM (Byte Order Mark) 인코딩 방식으로 저장한다.
- 그래서 이 파일을 읽어서 파싱하면, 처음 3 바이트는 BOM 이 저장되어 있다. (EF BB BF)
- 해결책
- 텍스트 파일에는 주석을 제외한 모든 데이타는 영문으로 표현한다.
- 영문으로 표기된 문자는 Ansi, UTF-8, UTF-8 with BOM 에는 깨지지 않는다. 한글은 깨진다.
- 텍스트 파일을 처음 3바이트를 읽은 후, EF BB BF 가 아니라면, 그냥 파싱해도 문제 없다.
- BOM 이 추가된 파일일 경우, 데이타가 영문으로 표현되어 있을 경우에는, BOM만 무시하고 파싱해도 문제없다.