뭐 문서화를 하다보니 어쩔 수 없는건 이해하지만..


특히 대기업에서의 문서화(산출물)라는게 결국 MS Office다 보니 그럴 수 밖에 없긴 하지만..


그래도 제발 그거 하지 마세요.


다른데서 먼저 코딩을 하시고 그 다음에 산출물에 복붙하셔야지


코딩을 오피스에서 하고 그걸 편집기로 복붙하시면 잘 안됩니다.




대표적인 경우.


' ' " "


저는 지금 브라우저 상에서 작은 따폼표 두개 및 큰 따옴표 두개 를 입력했습니다.



‘ ’ “ ”


저는 다시 MS Office 에서 작은 따옴표 두개 및 큰 따옴표 두개 를 입력했습니다.


뭐가 다른지 잘 모르겠죠?


다시.


위에서는 티스토리 기본 고딕(?)체였는데, 바탕체로 보면 좀 더 명확하니 바탕체로 크게 보여드리겠습니다.


' ' " "

첫번째입니다.



‘ ’ “ ”

두번째입니다.



MS Offfice 환경에서는 따옴표를 열림과 닫힘이 있는 독특한 체계를 사용합니다.


보통 Windows 1252, 혹은 CP-1252 라고 부르는 인코딩 체계에서 사용하는 따옴표 형식입니다.


파이썬에서 cp1252 로 인코딩해보면



"‘’“”".encode("cp1252")
Out[1]:
b'\x91\x92\x93\x94'



바이너리 코드를 기준으로 0x91, 0x92, 0x93, 0x94 로 표현됩니다.


이는 파이썬에서


UnicodeDecodeError: 'utf8' codec can't decode byte 0x92 in position 377826: invalid start byte 0



뭐 이런 비슷한 에러를 만드는 1등 공신이기도 합니다.


기본이 utf-8 인 파이썬 환경에서 cp1252 로 쓰는걸 str로 바로 받아서 변수 넘길 때 UTF-8 decode 처리하는 경우 이런 문제가 발생하죠.(예를 들어 thrift)

 - 참고로 python 3 기준으로 utf-8 이 기본이니 str type이나 utf-8 이나 동일하게 취급합니다. python 2 에서야 명시적으로 utf-8 이라고 처리해줘야죠.


해결이요? 그냥 다시 손으로 일일이 '' "" 로 고치는 것을 다른 편집기에서 수행하시면 됩니다. 아니면 애초에 그냥 오피스에서 소스를 그대로 가져다가 쓰는건 하지 마시거나요. (소스는 git이나 zip, tar,gz 등으로 나눕시다. 알집은 제발 쓰지 마시구요.)


가끔 누군가는 변환 파서를 만들기도 하더라구요.

+ Recent posts