Application/MFC

[MFC] 파일 쓰기 한글 깨짐 문제 (BOM)

devsalix 2022. 11. 23. 09:53
728x90
반응형

log 및 text 파일 생성 후 작성 시

 

한글이 깨지는 경우가 발생한다

 

그럴 경우 파일의 맨 처음 2Byte에 0xfeff 값을 넣어주면 해결된다

 

USHORT nType = 0xfeff;

 

바이트 순서 표시(Byte Order Mark, BOM)는 유니코드 문자 U+FEFF byte order mark

 

매직 넘버로서 문서의 가장 앞에 추가하여 텍스트를 읽는 프로그램에 여러 정보를 전달할 수 있다

 

추가로 인코딩에 따른 바이트 순서 표식은

    

인코딩 16진수 표현10진수
UTF-8 EF BB BF 239 187 191
UTF-16 (BE) FE FF 254 255
UTF-16 (LE) FF FE 255 254
UTF-32 (BE) 00 00 FE FF 0 0 254 255
UTF-32 (LE) FF FE 00 00 255 254 0 0
UTF-7 2B 2F 76 38
2B 2F 76 39

2B 2F 76 2B
2B 2F 76 2F
43 47 118 56
43 47 118 57

43 47 118 43
43 47 118 47
UTF-1 F7 64 4C 247 100 76
UTF-EBCDIC DD 73 66 73 221 115 102 115
SCSU 0E FE FF[c] 14 254 255
BOCU-1 FB EE 28 251 238 40
GB-18030 84 31 95 33 132 49 149 51

 

참고

https://ko.wikipedia.org/wiki/%EB%B0%94%EC%9D%B4%ED%8A%B8_%EC%88%9C%EC%84%9C_%ED%91%9C%EC%8B%9D

728x90
반응형