使用python读取具有utf8字符的json文件

2024-06-26 14:04:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个带有utf-8编码字符的大型json文件。如何读取此文件并将这些字符转换为更可读的版本? 我有这样的想法:

{
    "name": "Wroc\u00c5\u0082aw"
}

我想要这个:

{
    "name": "Wrocław"
}

Tags: 文件name版本json编码字符utfaw
1条回答
网友
1楼 · 发布于 2024-06-26 14:04:38

如果您的JSON数据包含像这样的mojibake,您可以通过将字符串转换为拉丁语-1,然后将结果解码为UTF-8,将其转换为正确的Unicode。这与产生mojibake的任何过程相反。(字符串来自JSON的事实无关紧要;这适用于任何此类mojibake字符串。)

>>> s = "Wroc\u00c5\u0082aw"
>>> s.encode('latin-1').decode('utf-8')
'Wrocław'

在一般情况下,您必须对产生mojibake的内容进行反向工程,但这种特殊情况很容易识别和排除故障,因为拉丁-1编码特别明显且透明(每个字节的编码与自身完全相同)

相关问题 更多 >