2014-05-23 1 views
0

느릅 이름이고되는 lxml.objectify.StringElement 가지고는 UnicodeEncodeError은 : 위치 0-6에서 문자를 인코딩 할 수 없습니다 'ASCII'코덱 : 범위 내에 있지 순서 (128)는 I

u'\u266b\u266b\u266b\u266b\u266b\u266b\u266bHow do you get a job on the Yahoo staff when you are older?\u266b\u266b\u266b\u266b\u266b?' 

I을 STR로 설정하려면 :

str(elm) 

그러나 나는이 오류를 얻을 :이 w 같은 비슷한 상황과 무언가로 실행했습니다

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-6: ordinal not in range(128) 
+1

파이썬 2 또는 3 대신 unicode을 사용하십시오. 유니 코드와 문자열은 두 버전간에 매우 다르게 처리됩니다. – aquavitae

+0

it 's Python 2.7.6 – someone

+2

그리고 문자열 출력을 어떻게 예상합니까? 이미 유니 코드 텍스트가 있습니다. 바이트 문자열이 필요한 이유는 무엇입니까? 바이트에 어떤 인코딩을 사용할 수 있습니까? –

답변

0

a=u'\u266b\u266b\u266b\u266b\u266b\u266b\u266bHow do you get a job on the Yahoo staff when you are older?\u266b\u266b\u266b\u266b\u266b?' 
print bytes(a.encode('utf-32')) 

을하지만 난 당신의 문자열이 얻을 : orked 나를 위해 (지금의 코드를 찾을 수 없습니다)

��k&k&k&k&k&k&k&How do you get a job on the Yahoo staff when you are older?k&k&k&k&k&? 

하 석을! 나는 이것이 당신을 도울 수는 없을 거라는 것을 압니다. 그러나 그것은 아마도 올바른 방향으로 나아갈 단계 일 것입니다. 그런데 파이썬 3+를 사용해 보길 원할 것입니다. 유니 코드에서는 훨씬 낫습니다.

0

변환 할 필요없이 파일 내용은 기본적으로 유니 코드입니다. str을 삭제하면됩니다. 모든 문자열 메서드는 유니 코드에 적용 할 수 있으므로 분할은 괜찮습니다. 일부 개체에서 유니 코드를 사용하려면 str

+0

느릅 나무는 lxml.objectify.StringElement이고 분할을 지원하지 않습니다 : ( – someone

+0

@ 누군가,'str' 대신'unicode'를 사용하여 tred 했습니까? 또한이 개체 안에 유니 코드 값 텍스트 필드가있을 수 있습니다. 그걸 조사 했니? –

관련 문제