码
a = "한글" #korean language
a_list = []
a_list.append({'key': a})
print a_list
结果
[{'key': u'"\ud55c\uae00"'}]
我不想转换unicode。 我怎么能留在韩语 我希望像这样打印
[{'key': '한글'}]
答案 0 :(得分:4)
来自问题的代码产生:
[{'key': '\xed\x95\x9c\xea\xb8\x80'}]
此输出与您在问题中显示的内容不同。
要制作:[{"key": "한글"}]
您可以使用json
:
print json.dumps(a_list, ensure_ascii=False, encoding=your_source_code_encoding)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
a = "한글" # you should use u"" literals to work with Unicode strings
a_list = []
a_list.append({'key': a})
print json.dumps(a_list, ensure_ascii=False) # "utf-8" encoding is default
[{"key": "한글"}]
您写道:
我不想转换unicode。我怎么能留在韩语
主要的内容是,如果您正在使用文本,则必须指定其编码。
最方便可靠的方法是在整个程序中使用Unicode字符串,即在输入时尽可能早地解码您读取到Unicode字符串的字节,并在输出时尽可能晚地编写Unicode字符串,然后编码为字节。
为了强制执行该约定,所有字符串都是Python 3中的Unicode。遗憾的是,Python 2允许您对文本和数据使用字节串,而且会引起混乱。
答案 1 :(得分:1)
如果您有unicode字符串,它会对您的应用程序产生什么影响?如果你不想要u前缀,你可以使用Python3,默认情况下字符串是unicode。