解码txt文件中的字节字符串 - Python 3

时间:2017-11-08 02:10:55

标签: python numpy byte

有!

我一直在寻找答案,但无济于事......无论如何,我有一个numpy ndarray,我用ndarray.tostring()保存在一个txt文件中,所以现在在我的文件中有像

这样的东西
"b'\xae\xc9\x91\xff\x9d\x12\xac\xbf\xeasz\xfal\t\xba\xbf\xa18x\xf1\x1bF'"

现在我要解码,以便我可以应用ndarray.fromstring(byte_string)。

我怎样才能实现它?我已经使用了字节(byte_string,'utf-8'),然后解码,删除了b和'等......

非常感谢!

编辑:为了记录,解决方案正在使用 b = ast.literal_eval(byte_string)。谢谢,安迪!

2 个答案:

答案 0 :(得分:1)

您的字符串是BYTE对象。 str(b'','utf8')

答案 1 :(得分:1)

也许你想直接从字节解码它:

In [11]: b = b'\xae\xc9\x91\xff\x9d\x12\xac\xbf\xeasz\xfal\t\xba\xbf\xa18x\xf1\x1bF'

In [12]: np.fromstring(b, dtype=np.uint8)
Out[12]:
array([174, 201, 145, 255, 157,  18, 172, 191, 234, 115, 122, 250, 108,
         9, 186, 191, 161,  56, 120, 241,  27,  70], dtype=uint8)