【发布时间】:2016-05-07 06:53:12
【问题描述】:
这里已经有类似的问题了。在我看来,以下问题是不同的,因为我有字典而不是字符串。
所以,我有一个字典: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
【问题讨论】:
-
您使用的是哪个 Python 版本? Python 3 中的 Unicode 处理与 Python 2 中的处理方式有些不同。您应该发布一个字典的小示例。
-
我使用的是 Python 2.7。字典内容示例:{'POSSIBLE_DATACENTER': 'tt@4', 'CPU_COUNT': None, 'DESCRIPTION': 'Test-DC f\xfcr tbc'}。 f\xfcr 实际上是“für”。
-
json 是基于文本的格式,它不能用于表示任意字节序列。您的 dict 数据使用什么编码?
-
不知道dict数据的编码格式
-
@TomDalton:我的猜测(根据示例数据)是编码是 latin1。
标签: python json python-2.7 dictionary