正在将\x转义字符串转换为UTF-8

2024-09-25 12:22:06 发布

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

如何将看起来像'\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82'的字符串转换为Perl或Python可读的字符串?


Tags: 字符串perlx82x80xb8xd0xd1xbf
2条回答

在Python2.7中

>>> print '\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82'
привет

>>> print '\\xd0\\xbf\\xd1\\x80\\xd0\\xb8\\xd0\\xb2\\xd0\\xb5\\xd1\\x82'.decode('string-escape')
привет
>>> print r'\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82'.decode('string-escape')
привет

在python 3.x中

>>> br'\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82'.decode('unicode-escape').encode('latin1').decode('utf-8')
'привет'

对于文件读取,您可以使用它而不是open()

import codecs
with codecs.open('filename','r','string-escape') as f:
    data=f.read()

data将在读取f时重新编码。

相关问题 更多 >