我有一个numpy的二进制数组是这样的:转换numpy的二进制字符串数组返回字符串
np_bin_array = [0 1 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
它最初是一个字的8位字符串中的字符,从左侧开始,用0填充它。
我需要将其转换回字符串以再次形成单词并去掉0,并且上面的输出应该是'Hello'。
感谢您的帮助!
我试过,但现在它给了我这个错误:类型错误:只有整数标阵列可以被转换成一个标量指数。我认为这意味着由于数组是bool类型的值,它需要是int类型的数组?如何将布尔数组转换为int数组? – pds360
@ pds360你能给出更多关于这个'np_bin_array'如何产生的信息吗?我不能用简单的bool numpy数组重现这个问题,我猜你的意思是别的? – Chazeon
其实我只是用np.packbits方法,然后把每个char代码转换回字符串,如果它是0就停止。yy = [] yy_word =“” yy = np.packbits(np_bin_array ) for i yy: if i: j = chr(i) yy_word + = str(j) print(yy_word) – pds360