在Python中将整数数组转换为二进制代码数组[复制]

问题描述 投票:-2回答:2

这个问题在这里已有答案:

我是Python的新手,需要将二进制代码中的整数数组转换为一个整数。

s_str = "test"    
s_acii = [ord(c) for c in s_str]
print(s_acii)
>> [116, 101, 115, 116]

我需要的:

>> [1110100, 1100101, 1110011, 1110100]

谢谢!

python
2个回答
1
投票

您可以使用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']

0
投票

您可以使用str.format方法和b作为演示文稿类型:

print('[{}]'.format(', '.join(map('{:b}'.format, s_acii))))

这输出:

[1110100, 1100101, 1110011, 1110100]
© www.soinside.com 2019 - 2024. All rights reserved.