2014-05-23 50 views
0

我有一個被命名爲榆樹是lxml.objectify.StringElement:UnicodeEncodeError:「ASCII」編解碼器在0-6位置無法編碼的字符:順序不在範圍內(128)

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?' 

我希望把它變成一個STR:

str(elm) 

但我得到這個錯誤:

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

Python 2或3? Unicode和字符串在兩個版本之間的處理方式非常不同。 – aquavitae

+0

它是Python 2.7.6 – someone

+2

你期望字符串輸出是什麼?請注意,你*已經*在那裏有Unicode文本。爲什麼你需要一個字節字符串?你可以使用什麼編碼的字節? –

回答

0

我碰到類似的情況,這樣的事w^orked對我來說(我現在找不到代碼):

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')) 

,但我得到這個與你的字符串:

��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&? 

哈!我知道這可能無助於你,但也許這將是朝着正確方向邁出的一步。順便說一句,你可能想嘗試Python 3+,它在unicode中更好。

0

你不需要任何轉換,文件內容是系統默認的Unicode。請刪除str。所有的字符串方法都適用於unicode,所以分割就可以。 如果你想unicode出一些對象,請嘗試使用unicode而不是str

+0

感謝您的回覆。但榆樹是一個lxml.objectify.StringElement,它不支持拆分:( – someone

+0

@someone,你有沒有使用'unicode'而不是'str'?也有可能是這個對象內有一個unicode值的文本字段。檢查? –

相關問題