如何連接字符串和Unicode並獲取字符串?我嘗試了以下。但這顯然不正確。Python:如何鏈接字符串和Unicode?
>>> s = 'jklö'
>>> u = u'äpoi'
>>> print s+u
Traceback (most recent call last): File "", line 1, in UnicodeDecodeError: 'ascii' codec can't decode byte 0x94 in position 3: ordinal not in range(128)
>>> unicode(s, 'latin-1')+u
u'jkl\x94\xe4poi'
>>> (unicode(s, 'latin1')+u).encode('latin1')
'jkl\x94\xe4poi'
>>> print (unicode(s, 'latin1')+u).encode('latin1')
jklöõpoi
爲什麼它顯然不正確的? Python試圖使用默認的(ASCII)來解碼你的字節串,失敗了。然後你明確解碼's'(使用'unicode()'),所以它可以*追加結果。這是連接unicode數據的正確方法;通過使用* only * unicode對象。 –
首先將字符串轉換爲unicode? –
@MartijnPieters:這是不正確的,因爲最終輸出中的ä變成了Ö – domruf