Saint_HUFS 发表于 2021-12-19 02:22:20

关于encode和decode问题!!!救救孩子吧


想用python读取一个json文件,可是不知道为什么显示
UnicodeEncodeError: 'utf-8' codec can't encode characters in position 30169-30170: surrogates not allowed

我看了一下那个位置根本就不是什么非法字符啊,而且用以下这个代码试了一下也显示乱码

s = "\u6dc5\u6ca5\u6a90\u58f0\u6795\u4e0a\u95fb|\u63fd"
print(s.encode("utf-8").decode("unicode-escape"))

txxcat 发表于 2021-12-19 03:07:49

这个不需要编码解码,直接print(s)就行了。

jackz007 发表于 2021-12-19 08:43:21

      解码的目的在于让 Python 正确接受字符串,而在 Python 内部,字符串本来就是以 unicode 编码来进行保存的,所以,根本就没有必要对一个 unicode 字符串进行解码。

Saint_HUFS 发表于 2021-12-19 11:18:56

txxcat 发表于 2021-12-19 03:07
这个不需要编码解码,直接print(s)就行了。

请问怎么读取上面数据图片里的内容啊,又有英文又有Unicode

Saint_HUFS 发表于 2021-12-19 11:19:26

jackz007 发表于 2021-12-19 08:43
解码的目的在于让 Python 正确接受字符串,而在 Python 内部,字符串本来就是以 unicode 编码来进 ...

好的,那请问怎么读取上面数据图片里的内容啊,又有英文又有Unicode的json文件

txxcat 发表于 2021-12-19 21:18:41

Saint_HUFS 发表于 2021-12-19 11:19
好的,那请问怎么读取上面数据图片里的内容啊,又有英文又有Unicode的json文件

试试看:
data = json.load(json_file)
页: [1]
查看完整版本: 关于encode和decode问题!!!救救孩子吧