python - 如何在Python中解码部分转义的unicode字符串(混合unicode和转义的unicode)?

标签 python unicode unicode-escapes

给定以下字符串:

str = "\\u20ac €"

如何将其解码为€ €

使用 str.encode("utf-8").decode("unicode-escape") 返回 € â\x82Ø

(为了澄清,我正在寻找一个通用的解决方案,如何解码 unicode 和转义字符的任意组合)

最佳答案

一个简单快速的解决方案是使用 re.sub 来匹配 \u 和正好四个十六进制数字,并将这些数字转换为 Unicode 代码点:

import re

s = r"blah bl\uah \u20ac € b\u20aclah\u12blah blah"
print(s)

s = re.sub(r'\\u([0-9a-fA-F]{4})',lambda m: chr(int(m.group(1),16)),s)
print(s)

输出:

blah bl\uah \u20ac € b\u20aclah\u12blah blah
blah bl\uah € € b€lah\u12blah blah

关于python - 如何在Python中解码部分转义的unicode字符串(混合unicode和转义的unicode)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64037372/

相关文章:

python - 如何将 unicode 转义序列转换为 python 字符串中的 unicode 字符

javascript - Unicode 文本转换为十进制- Blogger

python - 将包装函数定义中接收到的 **kwargs 传递给封闭(即包装)函数调用的参数

python - 向 Spark DataFrame 添加一个空列

python - 服务于 Flask 服务器的 Dash 应用程序内部服务器错误 : A name collision occurred between blueprints

html - 为什么 WordPress 在我的代码中添加额外的引号?

delphi - Delphi:Unicode-> AnsiString,非Unicode程序的语言

c# - 如何获得正确的字符串文本?

javascript - 结合 ES6 unicode 文字和 ES6 模板文字

python - Django - 通用 FormView - 将输入传递到模板中