计算Python3中字符串中的UTF8文本转义序列

2024-06-02 07:04:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串形式:

s = '\\xe2\\x99\\xac'

我想通过计算转义序列将其转换为字符♬。然而,我所尝试的一切要么导致错误,要么打印出垃圾。如何强制Python将转义序列转换为字面的unicode字符?在

我在其他地方读到的内容表明,下面的代码行应该能满足我的需要,但是它会导致UnicodeEncodeError。在

^{pr2}$

我也尝试了以下方法,结果是一样的:

import codecs
print(codecs.getdecoder('unicode_escape')(s)[0])

这两种方法都会生成字符串“–x99”,print随后无法处理该字符串。在

如果有任何不同,字符串是从一个UTF-8编码文件读入,并最终在处理后输出到另一个UTF-8编码文件。在


Tags: 文件方法字符串编码错误unicode字符形式
1条回答
网友
1楼 · 发布于 2024-06-02 07:04:38

...decode('unicode-escape')将为您提供字符串'\xe2\x99\xac'。在

>>> s = '\\xe2\\x99\\xac'
>>> s.encode().decode('unicode-escape')
'â\x99¬'
>>> _ == '\xe2\x99\xac'
True

你需要解码。但是要解码它,首先用latin1(或iso-8859-1)对其进行编码以保留字节。在

^{pr2}$

相关问题 更多 >