我有一个程序,它返回的字符串如: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())
答案 0 :(得分:3)
序列\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'))
给出了
'08/12/1993'
为了完整性:
如果输入是以字符串形式提供的,您可以使用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