我想把dict中的字符串转换成中文,但不知道如何转换。一些提示对我会有帮助的。在
My python version is 2.7.12 on win32
首先,我有变量s
s = '\u7279\u6717\u666e\u5973\u513f\u4f0a\u4e07\u5361\u5230\u4e2d\u56fd\u5927\u4f7f\u9986\u8d3a\u65b0\u5e74'
当我使用这两种方法时,它是有效的:Bo
^{pr2}$输出:中国
^{3}$输出:中国
但是当我有一个名为data的dict,并打印如下。在
data = {
'title' : s,
}
print data
输出显示为
{'title': '\u7279\u6717\u666e\u5973\u513f\u4f0a\u4e07\u5361\u5230\u4e2d\u56fd\u5927\u4f7f\u9986\u8d3a\u65b0\u5e74'}
可以使用pprint。这是quora的答案 回答你的问题。在空闲状态下运行它以正确查看未编码字符串
https://www.quora.com/How-do-you-print-a-python-unicode-data-structure
您可以使用
unicode escape
将字符串解码为中文在Python 3.x中
注意b字节的文字
在Python 2.x中
^{pr2}$编辑时间: 在您的例子中,由于您使用的是python 2.7:
请注意使用了“u”-unicode文本。在
现在,如果您想打印它,只需输入
print s
,print充当编码器如果你想在字典中使用它,只需使用s,因为它最终将被存储为unicode字符串,当你想看到结果时,只需打印该值。在
第一点:
print data
打印您的data
dict的内部表示形式(repr(data)
的结果),因此您可以得到字符串的内部表示形式。您会注意到print repr(s)
vsprint s
的相同行为。在另外,如果您想使用unicode字符串,您必须明确地告诉Python它是unicode字符串,方法是在字符串前面加上一个“u”,即:
这不会使您的
print data
按预期工作,但至少您可以按原样或通过将其编码为所需的编码正确地打印unicode字符串。在注意:如果您的Python版本足够新,您还可以从from
__future__ import unicode_literals
开始脚本,这将告诉Python将此模块中的每个和任何文本字符串都视为unicode字符串。在NB2:如果您从外部资源获得
s
字符串,那么在方式上有问题-因为您得到的是一个包含unicode点的字节字符串-,所以首先解决这个问题(您应该获得一个正确编码的字节字符串-以已知的编码-或者最好是一个正确的unicode字符串)。在相关问题 更多 >
编程相关推荐