文章目录
- 问题
- 解决办法
- 测试
问题
如图,保存汉字的时候变成unicode码了。。。

代码是这样的:

解决办法
在Python中,可以使用json模块的ensure_ascii参数来控制是否将汉字转换为类似\u5730\u9707的Unicode编码。默认情况下,ensure_ascii参数为True,会将汉字转换为Unicode编码。如果想要保留汉字的原始形式,可以将ensure_ascii参数设置为False。
下面是一个示例代码:
import json
data = {
"地点": "北京",
"事件": "地震"
}
# 将汉字转换为Unicode编码
json_data = json.dumps(data, ensure_ascii=True)
print(json_data)
# 保留汉字的原始形式
json_data = json.dumps(data, ensure_ascii=False)
print(json_data)
输出结果:
{"地点": "\u5317\u4eac", "事件": "\u5730\u9707"}
{"地点": "北京", "事件": "地震"}
可以看到,当ensure_ascii参数为True时,汉字被转换为Unicode编码;当ensure_ascii参数为False时,汉字保留了原始形式。
如果不是输出json字符串,而是直接存储到文件中,可以用json.dump():
import json
data = {
"地点": "北京",
"事件": "地震"
}
# 将数据保存到JSON文件中,并将汉字转换为Unicode编码
with open("data.json", "w", encoding="utf-8") as file:
json.dump(data, file, ensure_ascii=True)
# 将数据保存到JSON文件中,保留汉字的原始形式
with open("data.json", "w", encoding="utf-8") as file:
json.dump(data, file, ensure_ascii=False)
这段代码将数据保存到名为data.json的JSON文件中。根据ensure_ascii参数的值,汉字会被转换为Unicode编码或保留原始形式。
测试
加了ensure_ascii=False,可以保留汉字原始形式了:




![c++学习(c++11)[24]](https://img-blog.csdnimg.cn/1531e1227c704464a0d385f1a3af204b.png)















