gpt4 book ai didi

Python编码unicode<>utf-8

转载 作者:太空宇宙 更新时间:2023-11-03 16:56:21 26 4
gpt4 key购买 nike

所以我在将 unicode 转换为 utf-8 时迷失了方向。我正在尝试定义一些包含 unicode 字符的 JSON,并将它们写入文件。打印到终端时,该字符表示为“\u2606”。查看文件时,字符被编码为“\u2606”,请注意双反斜杠。有人能指出我关于这些编码问题的正确方向吗?

# encoding=utf8

import json

data = {"summary" : u"This is a unicode character: ☆"}
print data

decoded_data = unicode(data)
print decoded_data

with open('decoded_data.json', 'w') as outfile:
json.dump(decoded_data, outfile)

我尝试将以下代码片段添加到文件的头部,但这也没有成功。

import sys
import codecs
sys.stdout = codecs.getwriter('utf8')(sys.stdout)
sys.stderr = codecs.getwriter('utf8')(sys.stderr)

最佳答案

首先,您要打印字典的表示形式,并且 python 仅使用 ascii 字符并使用 \uxxxx 转义任何其他字符。

同样的情况是 json.dump 尝试仅使用 ascii 字符。您可以强制 json.dump 使用 unicode:

json_data = json.dumps(data, ensure_ascii=False)
with open('decoded_data.json', 'w') as outfile:
outfile.write(json_data.encode('utf8'))

关于Python编码unicode<>utf-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35389994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com