[英]Python encoding: list to string having special characters and numbers in the list
我需要加入這樣的東西:
["Círculo", 23]
["Triángulo, 25, 19, "dos"]
我看過這篇文章 - > 使用Python加入一個包含Integer值的列表
但解決方案如:
', '.join(map(str, myList)) or ', '.join(str(x) for x in list_of_ints)
對我不起作用,因為特殊字符“í”使它失敗:
UnicodeEncodeError:'ascii'編解碼器無法編碼字符...位置...:序號不在范圍內(128)
那么解決它的pythonic方法是什么? 我不想檢查類型...... Thx!
檢查編碼我發現了一個適合我的解決方案:
u', '.join([unicode(x.decode('utf-8')) if type(x) == type(str()) else unicode(x) for x in a])
訣竅是使用decode('utf-8')
來獲得字符的有效8位表示。
希望這會有所幫助。
如果您可以將列表中的字符串指定為unicode,例如:
[u"Círculo", 23]
[u"Triángulo", 25, 19, u"dos"]
這應該工作:
u', '.join(unicode(x) for x in list_of_ints)
假設您正在運行Python 2。
import encodings
a=encodings.utf_16.decode(a[0])
encodings.utf_16.encode(a[0])
您是否嘗試過使用編碼模塊? 也許你會得到它與它一起工作。 但似乎沒有使用utf_16編碼...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.