8

'\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82'のように見える文字列を、Perl または Python で読み取り可能なものに変換するにはどうすればよいですか?

4

2 に答える 2

19

Python 2.7 では

>>> print '\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82'
привет

>>> print '\\xd0\\xbf\\xd1\\x80\\xd0\\xb8\\xd0\\xb2\\xd0\\xb5\\xd1\\x82'.decode('string-escape')
привет
>>> print r'\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82'.decode('string-escape')
привет

Python 3.x では

>>> br'\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82'.decode('unicode-escape').encode('latin1').decode('utf-8')
'привет'
于 2013-08-08T06:47:57.287 に答える
0

ファイルの読み取りには、次の代わりにこれを使用できますopen()

import codecs
with codecs.open('filename','r','string-escape') as f:
    data=f.read()

dataf読み取り中に再エンコードされます。

于 2013-08-08T07:21:32.500 に答える