我有一个字符串"\x89PNG",我想将其转换为纯文本。
我提到了http://love-python.blogspot.in/2008/05/convert-hext-to-ascii-string-in-python.html 但我发现它有点复杂。这可以用更简单的方式完成吗?
\\x89PNG 是纯文本。尝试打印它:
>>> s = \'\\x89PNG\'\n>>> print s\n\xe2\x94\xb4PNG\nRun Code Online (Sandbox Code Playgroud)\n\n链接中的食谱没有任何作用:
\n\n>>> hex_string = \'\\x70f=l\\x26hl=en\\x26geocode=\\x26q\\x3c\'\n>>> ascii_string = reformat_content(hex_string)\n>>> hex_string == ascii_string\nTrue\nRun Code Online (Sandbox Code Playgroud)\n\n真正的十六进制<->明文编码\\解码是小菜一碟:
\n\n>>> s.encode(\'hex\')\n\'89504e47\'\n>>> \'89504e47\'.decode(\'hex\')\n\'\\x89PNG\'\nRun Code Online (Sandbox Code Playgroud)\n\n\'\\x70f=l\\x26hl=en\\x26geocode=\\x26q\\x3c\'但是,您可能会遇到诸如, where\'\\\'和 之类的字符串问题\'x\'是单独的字符:
>>> s = \'\\\\x70f=l\\\\x26hl=en\\\\x26geocode=\\\\x26q\\\\x3c\'\n>>> print s\n\\x70f=l\\x26hl=en\\x26geocode=\\x26q\\x3c\nRun Code Online (Sandbox Code Playgroud)\n\n在这种情况下string_escape编码确实很有帮助:
>>> print s.decode(\'string_escape\')\npf=l&hl=en&geocode=&q<\nRun Code Online (Sandbox Code Playgroud)\n\n有关编码的更多信息 - http://docs.python.org/library/codecs.html#standard-encodings
\n| 归档时间: |
|
| 查看次数: |
5218 次 |
| 最近记录: |