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