我有一个像 🏆 这样的 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/