我有一个性格。我想将其 ascii 值表示为 boolean 值的 numpy 数组。 这有效,但似乎扭曲。有更好的办法吗?
bin_str = bin(ord(mychar))
bool_array = array([int(x)>0 for x in list(bin_str[2:])], dtype=bool)
对于
mychar = 'd'
bool_array 所需的结果值为
array([ True, True, False, False, True, False, False], dtype=bool)
最佳答案
您可以使用 np.unpackbits
直接从 uint8 数组中提取位。 :
np.unpackbits(np.array(ord(mychar), dtype=np.uint8))
编辑:仅获取 boolean 数组中的 7 个相关位:
np.unpackbits(np.array(ord(mychar), dtype=np.uint8)).astype(bool)[1:]
关于python:将ascii字符转换为 boolean 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17744248/