N. *_*hle 1 python encoding json python-3.x
我们发现json.dumpsLinux 和 Windows 上的不同行为
jsonData = json.load(open(\'test.json\'))\nprint(jsonData)\n\njsonStr = json.dumps(jsonData, ensure_ascii=False)\nprint(jsonStr)\nRun Code Online (Sandbox Code Playgroud)\n\nLinux 上的输出:(python3.3)
\n\n{\'name\': \'M\xc3\xbcller\'}\n{"name": "M\xc3\xbcller"}\nRun Code Online (Sandbox Code Playgroud)\n\nWindows 上的输出:(python3.4)
\n\n{\'name\': \'M\xc3\xbcller\'}\n{"name": "M\\xc3\\xbcller"}\nRun Code Online (Sandbox Code Playgroud)\n\n我们错过了什么吗?test.json好像{\'name\': \'M\xc3\xbcller\'}。
如何在 Windows 上使用 Python 3 读取 UTF-8 文件?
\n打开文件时不要依赖默认编码;您的 JSON 文件被编码为 UTF-8,但您使用单字节编解码器(可能是 CP1252,Windows Latin-1 代码页)打开它:
jsonData = json.load(open('test.json', encoding='utf8'))
Run Code Online (Sandbox Code Playgroud)
从open()功能文档来看:
默认编码取决于平台(无论
locale.getpreferredencoding()返回什么)
强调我的。
| 归档时间: |
|
| 查看次数: |
1815 次 |
| 最近记录: |