1

"\x89PNG"プレーンテキストに変換したい文字列があります。

http://love-python.blogspot.in/2008/05/convert-hext-to-ascii-string-in-python.htmlを参照 しましたが、少し複雑でした。これはもっと簡単な方法で行うことができますか?

4

1 に答える 1

4

\x89PNG プレーンテキストです印刷してみてください:

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

リンクのレシピは何もしません:

>>> hex_string = '\x70f=l\x26hl=en\x26geocode=\x26q\x3c'
>>> ascii_string = reformat_content(hex_string)
>>> hex_string == ascii_string
True

実際の hex<-> プレーンテキスト エンコーディング\デコーディングは簡単です:

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

ただし、とが別々の文字'\x70f=l\x26hl=en\x26geocode=\x26q\x3c'であるのような文字列には問題がある場合があります。'\''x'

>>> 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

于 2012-07-27T07:36:20.023 に答える