C 확장의 버그로 인해 유니 코드 데이터가 str 인스턴스 또는 순서없이 인코딩되지 않고 str에 유니 코드 리터럴로 전달됩니다.유니 코드 리터럴에서 유니 코드 인스턴스를 만드는 방법
그래서, 예를 들어,이 유효한 문자 유니 코드
>>> u'\xa1Se educado!'
그리고 UTF-8 인코딩 STR이 될 것입니다 : 그러나
>>> '\xc2\xa1Se educado!'
, 나는 문자 유니 코드와의 str을 얻을이 :
>>> '\xa1Se educado!'
그리고 유니 코드 인스턴스를 만들어야합니다. unicode()
을 사용하면 인코딩이 필요하기 때문에 작동하지 않습니다. 나는 ''.join(unichr(ord(x)) for x in s)
이 내가 필요한 것을 수행하지만 실제로는보기 흉한 것을 알았다. 더 나은 해결책이 있어야합니다. 어떤 아이디어?
함께 작업하는 Python 버전은 무엇입니까? 문제를 만드는 확장 기능은 무엇입니까? 거기에서 그것을 고칠 수 있습니까? –
파이썬 2.7. 확장은 실제로 관련이 없습니다. –