Python では、次のような文字列があります。
'\\x89\\n'
次のような通常の文字列にデコードするにはどうすればよいですか。
'\x89\n'
Python では、次のような文字列があります。
'\\x89\\n'
次のような通常の文字列にデコードするにはどうすればよいですか。
'\x89\n'
入力値がstr文字列の場合は、次を使用codecs.decode()して変換します。
import codecs
codecs.decode(raw_unicode_string, 'unicode_escape')
入力値がbytesオブジェクトの場合、次のbytes.decode()メソッドを使用できます。
raw_byte_string.decode('unicode_escape')
デモ:
>>> import codecs
>>> codecs.decode('\\x89\\n', 'unicode_escape')
'\x89\n'
>>> b'\\x89\\n'.decode('unicode_escape')
'\x89\n'
'string_escape'Python の 2 バイト文字列は、次のコーデックでデコードできます。
>>> import sys; sys.version_info[:2]
(2, 7)
>>> '\\x89\\n'.decode('string_escape')
'\x89\n'
Unicodeリテラル (u接頭辞付き、たとえば)u'\\x89\\n'の場合は、 を使用します'unicode_escape'。
これは Python 3 で機能します。
b'\\x89\\n'.decode('unicode_escape')