python - 如何在python 3中将unicode字符转换为\Uxxxxxxxx格式

标签 python string python-3.x unicode utf-8

我有一个像 🏆 这样的 unicode 字符,我想恢复\Uxxxxxxxx 格式。但到目前为止,还没有找到简单的方法。已经尝试过:

text = 🏆

text.encode('utf-32').decode('utf-8')
returns error: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

text.encode('utf-32').decode('unicode-escape')
returns ÿþ

如何让它返回\U000XXXXX ?我知道我可以从\U000XXXXX 制作中获得角色:

string = "foo bar foo \U000XXXXX"
string.encode('utf-8').decode('unicode-escape')
returns "foo bar foo 🏆"

最佳答案

对于字节字符串:

>>> text = '🏆'
>>> text.encode('unicode-escape')
b'\\U0001f3c6'

对于 Unicode 字符串:

>>> text.encode('unicode-escape').decode('ascii')
'\\U0001f3c6'

关于python - 如何在python 3中将unicode字符转换为\Uxxxxxxxx格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52751947/

相关文章:

python - 正则表达式组遇到问题

javascript - 如何使用 Angular promise 作为字符串的一部分

string - 获取标准输入并将其作为字符串存储在 lisp 中

Java 检查字符串中是否添加了某些内容

python-3.x - 大小不匹配,m1 : [3584 x 28], m2 : [784 x 128] at/pytorch/aten/src/TH/generic/THTensorMath. cpp:940

python - 根据层次结构创建列表数量

javascript - 如何在页面中嵌入代码编辑器?

python 电子邮件 - 简单示例运行无误,但电子邮件永远不会到达

python - 自定义命名实体识别

python - 在 Pandas 中高效编辑字符串并转换为 float