当前位置: 首页 > 面试题库 >

Python:json.dumps无法处理utf-8?

裴理
2023-03-14
问题内容

下面是测试程序,包括一个汉字:

# -*- coding: utf-8 -*-
import json

j = {"d":"中", "e":"a"}
json = json.dumps(j, encoding="utf-8")

print json

以下是结果,请看json.dumps将utf-8转换为原始数字!

{"e": "a", "d": "\u4e2d"}

为什么这坏了?还是我错了?


问题答案:

您应该阅读json.org。完整的JSON规范在右侧的白框中。

生成的JSON没有错。允许生成器生成UTF-8字符串或纯ASCII字符串,在这些字符串中使用\uXXXX符号转义字符。在您的情况下,Python
json模块决定转义,并使用转义符号\u4e2d

顺便说一句:任何符合条件的JSON解释器都会再次正确地取消转义此序列,并退还给您实际的字符。



 类似资料:
  • 问题内容: 网络服务器使用utf-8编码提供响应,所有文件都使用utf-8编码保存,我所知的所有设置都已设置为utf-8编码。 这是一个快速程序,用于测试输出是否有效: 该程序的输出为: 呈现为: 我可能做错了什么?我必须告诉DomDocument正确处理utf-8的具体程度是多少? 问题答案: 需要一个HTML字符串。 HTML 根据其规范使用默认的编码(ISO拉丁字母1号)。那是因为更长,请参

  • 问题内容: 为了找出C ++是否适合我的项目,我想测试UTF-8功能。根据参考,我构建了以下示例: 但是,当我输入UTF-8字符时,它的行为不正确: 它不仅不打印,而且立即退出。告诉我没有坠机事故,但出口正常,但是我很难相信。 问题答案: 在Linux上不要使用wstring。 std :: wstring VS std :: string 看看第一个答案。我确定它能回答您的问题。 什么时候应该在

  • 我遵循这个链接的第二个答案(两个步骤)来实现视频到Youtube的上传:使用curl和api v3在Youtube上上传视频 代码工作正常,但当我执行时,我得到的响应是:状态:嵌入:true license:“YouTube”privacystatus:“unlisted”publicstatsviewable:true uploadstatus:“uploaded”

  • 问题内容: 我正在寻找有关如何处理来自用户的无效UTF-8输入的一般策略/建议。 即使我的Web应用程序使用UTF-8,还是有些用户输入了无效字符。这会导致PHP的json_encode()错误,并且总体而言似乎是个坏主意。 W3C I18N常见问题解答:多语言形式说:“如果接收到非UTF-8数据,则应将错误消息发送回去。”。 在整个站点中有数十个可以输入数据的站点中,实际上该怎么做呢? 您如何以

  • 我正在尝试使用制作多模块项目。您可以通过链接查看我的代码。在分支是工作解决方案,其中所有匕首类都在模块中。 现在,我正在尝试为DI根创建单独的< code>app模块。您可以在< code>develop分支中看到最新的尝试。它不起作用。我想在< code>app模块中创建我的根< code > application component 组件,并从其他模块添加< code > presentat

  • 问题内容: 昨天我对一个问题的回答之一是建议我确保我的数据库可以正确处理UTF-8字符。我该如何使用MySQL? 问题答案: 更新: 简短答案-您几乎应该始终使用字符集和排序规则。 更改数据库: 看到: 亚伦对此答案的评论如何使MySQL正确处理UTF-8 utf8_general_ci和utf8_unicode_ci有什么区别 转换指南:https : //dev.mysql.com/doc/r