将 str 的 numpy 数组转换为字节字符串



我对python真的很陌生。我有一个 str 的 numpy 数组,我喜欢将其转换为字节字符串。

v = np.array([['2B', '0E', '00', '00', '00', '00', '00', '00']])

结果应为:

b'x2bx0ex00x00x00x00x00x00'

我尝试了字节、编码和许多其他奇特的解决方案,但没有成功。 请问谁能帮我?

您可以使用bytes

bytes([int(x, 16) for x in v[0]])

输出

b'+x0ex00x00x00x00x00x00'

我查看您的数组和所需的结果表明,结果只是在每个字符串中添加了一个x并小写。

这样:

import numpy as np
v = np.array([['2B', '0E', '00', '00', '00', '00', '00', '00']])
v = '\'+'\x'.join([b.lower() for i in v for b in i])
print(v.encode('utf8'))

输出:

b'\2b\x0e\x00\x00\x00\x00\x00\x00'

最新更新