如何在python中将十六进制字符串“\x89PNG”转换为纯文本

2024-09-27 23:18:29 发布

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

我有一个字符串"\x89PNG",我想把它转换成纯文本。在

我提到了http://love-python.blogspot.in/2008/05/convert-hext-to-ascii-string-in-python.html 但我觉得有点复杂。这能用一种更简单的方法吗?在


Tags: to方法字符串in文本httpconvertstring
1条回答
网友
1楼 · 发布于 2024-09-27 23:18:29

\x89PNG纯文本。试着把它打印出来:

>>> s = '\x89PNG'
>>> print s
┴PNG

链接中的配方不起任何作用:

^{pr2}$

真正的十六进制<;->;明文编码\解码只是小菜一碟:

>>> s.encode('hex')
'89504e47'
>>> '89504e47'.decode('hex')
'\x89PNG'

但是,您可能对'\x70f=l\x26hl=en\x26geocode=\x26q\x3c'这样的字符串有问题,其中'\'和{}是单独的字符:

>>> s = '\\x70f=l\\x26hl=en\\x26geocode=\\x26q\\x3c'
>>> print s
\x70f=l\x26hl=en\x26geocode=\x26q\x3c

在这种情况下,string_escape编码非常有用:

>>> print s.decode('string_escape')
pf=l&hl=en&geocode=&q<

有关编码的详细信息-http://docs.python.org/library/codecs.html#standard-encodings

相关问题 更多 >

    热门问题