Maison > Questions et réponses > le corps du texte
已经是utf8编码了,但是在print mylist的时候打印出来的是它的utf8编码而不是我想要的汉字,网上有人说可以json.dumps的,但是这样的话就变成了string了不是列表或字典了。有什么办法可以在保证类型不改变的情况下可以通过mylist[0]这种下标访问方式访问到正确的中文,因为我想拿出来和另外的一个中文单词比较是否相等。谢谢。
PHP中文网2017-04-18 10:28:13
>>> list
[u'\u4e2d\u6587', u'\u6211\u662f\u4e2d\u6587', u'\u6211\u8fd8\u662f\u4e2d\u6587']
>>> list[0]
u'\u4e2d\u6587'
>>> list[0].encode('utf8')
'\xe4\xb8\xad\xe6\x96\x87'
>>> str = list[0].encode('utf8')
>>> print str
中文
伊谢尔伦2017-04-18 10:28:13
Si vous voulez juste que le format soit beau. . .
import json
zhlist = [u'中文', u'英文']
print json.dumps(zhlist, ensure_ascii=False, indent=2)
a la même apparence une fois imprimé, mais différent lorsqu'il est comparé. Il est très probable que l'un soit un objet unicode
et l'autre un objet string
. Utilisez la méthode type(obj)
pour voir de quel type sont les deux valeurs souhaitées. à comparer sont.
Si vous souhaitez bien comprendre le problème du codage, vous pouvez vous référer aux deux premières réponses sous cette question.