gpt4 book ai didi

python - Unicode解码错误: 'utf8' codec can't decode byte inside a dictionary

转载 作者:行者123 更新时间:2023-11-28 21:11:38 24 4
gpt4 key购买 nike

这里已经有类似的问题了。在我看来,以下问题是不同的,因为我有字典而不是字符串。

所以,我有一个字典:result_dict。该词典中的某些值可能包含 ü、ä、ß 等。

当我尝试使用以下命令转储此字典时:

result_dict_dumped = json.dumps(result_dict)

我收到此错误消息:

UnicodeDecodeError: 'utf8' codec can't decode byte 0xfc in position 9: invalid start byte

有没有机会在不获取字典中的每个值并对其进行编码的情况下解决这个问题?

这是一个小的字典示例:

{
'POSSIBLE_DATACENTER': 'tt@4',
'CPU_COUNT': None,
'DESCRIPTION': 'Test-DC f\xfcr tbc'
}

f\xfcr 实际上是für

最佳答案

JSON 是一种基于文本的格式,它不能用来表示任意字节序列。您的字典数据使用什么编码 - 字节 0xfc 不是有效的 1 字节 utf-8 字符。

在尝试对其进行 json 编码之前,您可能需要解码字典的内容(从当前存储的任何编码)。

编辑:您的字典数据编码可能是以下任何一种编码:

>>> x = b"\xfc"
>>> print x.decode("latin-1")
ü
>>> print x.decode("cp1252")
ü

>>> json.dumps(x.decode("latin-1"))
'"\\u00fc"'

您调用还告诉 json 编码器字符串的编码与 utf-8 不同——这可能是您想要做的,只要您字典中的每个 str 都采用此编码:

>>> json.dumps(b"\xfc", encoding="latin-1")
'"\\u00fc"'

关于python - Unicode解码错误: 'utf8' codec can't decode byte inside a dictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35086193/

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