如何将“b'\\xfe\\xff\\x002\\x000\\x001\\x009'”转换为python中的字符

Ant*_*lai 1 python encoding hex

我有一个程序,它返回如下字符串:b'\\xfe\\xff\\x000\\x008\\x00/\\x001\\x002\\x00/\\x001\\x009\\x009\\x003'
如何将其转换为可读字符串。这个的价值应该是08/12/1993
想象我有这样的东西

a = "b'\\xfe\\xff\\x000\\x008\\x00/\\x001\\x002\\x00/\\x001\\x009\\x009\\x003'"
print(a.convert())
Run Code Online (Sandbox Code Playgroud)

Phi*_*ipD 5

该序列\xfe\xff告诉我们我们有 utf-16 (参见http://unicodebook.readthedocs.io/guess_encoding.html

让我们尝试一下:

x = b'\xfe\xff\x000\x008\x00/\x001\x002\x00/\x001\x009\x009\x003'
print(x.decode('utf-16'))
Run Code Online (Sandbox Code Playgroud)

这使

'08/12/1993'    
Run Code Online (Sandbox Code Playgroud)

为了完整起见:如果输入以字符串形式给出,您可以将eval其转换为<class 'bytes'>

x = eval("b'\\xfe\\xff\\x000\\x008\\x00/\\x001\\x002\\x00/\\x001\\x009\\x009\\x003'")

print(x)   ### b'\xfe\xff\x000\x008\x00/\x001\x002\x00/\x001\x009\x009\x003'

print(x.decode('utf-16'))  ### returns 08/12/1993
Run Code Online (Sandbox Code Playgroud)