Blog

[링크] 파이썬 한글 인코딩에 대해

May 29, 2014

[링크] 파이썬 한글 인코딩에 대해

[링크] 파이썬 한글 인코딩에 대해 :

한번 블로그에서 밝힌바와 같이 팀내에서 세미나를 진행하고 있는데 파이썬 유니코드 문자열 관련 처리와 관련되어서 찾은 자료이다. 

머 코드 자체 인코딩 설정하는 것이나, setdefaultencoding() 설정하는 것은 이미 해왔던 부분이었는데.

위의 자료를 통해서 이해한 부분은 파이썬 문자열은 2가지 str, unicode 형이 있고 unicode는 알다시피 대부분의 문자에 일련의 코드를 할당한것인데, str 은 하나의 형이지만 사실은 어떤 것으로 인코딩 되었는지에 따라서 달라질수 있다는 것인데.  

실제로 하나의 유니코드 문자를 파이썬에서 만들고 cp949, utf-8 로 각각 인코딩을 하니 if 문 비교조차 안되는 문제가 있는데 이것을 회피하려면 unicode 로 변환해서 처리하면 된다. 왜냐하면 앞에서 말한것처럼 유니코드는 일련의 코드니까. 비교해도 같으면 같은건데. 

위의 자료에서 보면 unicode로 decode 해서 처리하고, 다시 원래대로 encode 를 하라고 하고 있는데 사실 이건 너무 번거로운것 같다. 물론 확실한 처리를 위해서는 어쩔 수 없지만 뭔가 서비스를 개발하고 내가 encoding 부분은 전체적으로 세팅할 수 있다면, UTF-8 로 세팅하고 시작하는 편이 나을것 같다는 생각이 든다. 그게 안되고 다양한 회사와 일을 하는 곳에서 사용하고 있다면, 혹시 모르는 오류를 위해서 unicode로 변환해서 처리하는게 진짜 유일한 답이 아닐까.. (파이썬3라면 나으려나)

ps. 스레드와 파이썬의 유니코드/인코딩은 진짜 귀도의 원죄인듯. ㅎㅎㅎ