簡體   English   中英

如何使用python將元組的unicode列表轉換為utf-8

[英]How to convert a unicode list of tuples into utf-8 with python

我的函數返回一個元組,然后將其賦值給變量x並附加到列表中。

x = (u'string1', u'string2', u'string3', u'string4')
resultsList.append(x)

該函數被多次調用,最終列表由20個元組組成。

元組中的字符串是unicode,我想將它們轉換為utf-8。

一些字符串還包括非ASCII字符,如ö,ä等。

有沒有辦法一步一步地轉換它們?

使用嵌套列表理解:

encoded = [[s.encode('utf8') for s in t] for t in resultsList]

這將生成包含UTF-8編碼數據的字節字符串的列表。

如果要打印這些列表,您將看到Python將Python字節字符串的內容表示為Python文字字符串; 帶引號和任何字節,使用轉義序列表示aro不可打印的ASCII代碼點:

>>> l = ['Kaiserstra\xc3\x9fe']
>>> l
['Kaiserstra\xc3\x9fe']
>>> l[0]
'Kaiserstra\xc3\x9fe'
>>> print l[0]
Kaiserstraße

這是正常的,因為Python為調試目的提供了這些數據。 \\xc3\\x9f轉義序列表示用於編碼小ringel-es字符的兩個UTF-8字節C39F(十六進制)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM