求教python在文件中写入中文需要的两个参数是做什么的?

withopen('data.json','w',encoding='utf-8')asf:#indent:字符缩进f.write(json.dumps(data,ind... with open('data.json', 'w', encoding='utf-8')as f:
# indent:字符缩进
f.write(json.dumps(data, indent=2, ensure_ascii=False))
为什么需要encoding和ensure_ascii两个才能写入中文?这两个参数分别是做什么的?
展开
 我来答
阳光的雷咩咩
2020-02-27 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7876万
展开全部
encoding是文件编码,默认的一般是ansi,如果不指定的话,打开就有可能看到乱码。
ensure_ascii是json序列化的一个特性,是为了方便传输,避免编码问题(也就是上面的encoding),可用把unicode字符转码为ascii字符,这样就不需要指定encoding了。但是导致的问题就是肉眼看不出中文内容(和乱码有本质区别),ensure_ascii=False的意思就是对中文不做转码处理,原样输出到json
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式