嗨,我有以下来自API的数据(摘要)
"Product" : "T\u00e1bua 21X40"
我使用以下代码对数据字节进行解码:
var = json.loads(cleanhtml(str(json.dumps(response.content.decode('utf-8')))))
cleanhtml是我创建的一个正则表达式函数,用于从返回的数据中删除html标记(它工作正常)。尽管如此,decode(utf-8)
并没有删除像\u00e1
这样的字符。我的预期产出是:
"Product" : "Tábua 21X40"
我尝试过使用replace("\\u00e1", "á")
,但没有成功。我如何替换这种类型的角色,这是什么类型的角色
这是什么类型的角色
这里
您可能会观察到^{} escape sequence ,它后面是4个十六进制数字:
00e1
,请注意,这是相同字符的不同表示法,因此输出
\u00e1
是显示Python字符串内容时表示á
字符的另一种方式如果打开Python交互式会话并运行
print({"Product" : "T\u00e1bua 21X40"})
,您将看到{'Product': 'Tábua 21X40'}
的输出。\u00e1
在字符串中不作为这些单独的字符存在\u
转义序列表示以下数字指定了Unicode字符试图用
á
替换\u00e1
不会有任何效果,因为它已经是这样了。此外,replace("\\u00e1", "á")
正试图替换斜杠、u
等的单个字符,如前所述,它们实际上不以这种方式存在于字符串中如果您进一步解释遇到的问题,我们可能会提供更多帮助,但目前听起来字符串的内容正确,但显示方式与您预期的不同
这些类型的字符称为字符实体。有不同类型的实体,这是JSON实体。要进行演示,请输入字符串here,然后单击unescape。 对于您的问题,如果您使用的是python,那么您可以通过导入json模块来解决这个问题。然后你必须按如下方式解码它
相关问题 更多 >
编程相关推荐