Encoding

jjuiddong
Jjuiddong (토론 | 기여) 사용자의 2019년 3월 6일 (수) 16:57 판

(비교) ← 이전 판 | 최신판 (비교) | 다음 판 → (비교)
이동: 둘러보기, 찾기
  • UTF-8 with BOM 파싱 관련 문제
    • https://stackoverflow.com/questions/6769311/how-windows-notepad-interpret-characters
    • 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만 무시하고 파싱해도 문제없다.


Notepad normally uses ANSI encoding, so if it reads the file as UTF - 8  
then it has to guess the encoding based on the data in the file.

If you save a file as UTF - 8, Notepad will put the BOM(byte order mark) EF BB BF at the beginning of the file.
개인 도구
이름공간

변수
행위
둘러보기
도구모음