这个问题在这里已有答案:
我是Python的新手,需要将二进制代码中的整数数组转换为一个整数。
s_str = "test"
s_acii = [ord(c) for c in s_str]
print(s_acii)
>> [116, 101, 115, 116]
我需要的:
>> [1110100, 1100101, 1110011, 1110100]
谢谢!
您可以使用bin
built-in function将整数转换为二进制表示形式:
>>> l = [116, 101, 115, 116]
>>> [bin(i) for i in l]
['0b1110100', '0b1100101', '0b1110011', '0b1110100']
如果您不想要0b
前缀,请使用binary integer representation的字符串格式:
>>> l = [116, 101, 115, 116]
>>> ["{0:b}".format(i) for i in l]
['1110100', '1100101', '1110011', '1110100']
您可以使用str.format
方法和b
作为演示文稿类型:
print('[{}]'.format(', '.join(map('{:b}'.format, s_acii))))
这输出:
[1110100, 1100101, 1110011, 1110100]