我试图将一个整数表示为一个位列表,并将其左填充到8位仅当该整数为时:Exampleinput:0x15Desiredoutput:[0,0,0,1,0,1,0,1]我是按以下方式做的:input=0x15output=deque([int(i)foriinlist(bin(input))[2:]])whilelen(output)!=8:output.appendleft(0)我想将任何整数转换为二进制列表。仅当数字需要少于8位来表示时才填充到8。AnotherExampleinput:0x715Desiredoutput:[1,1,1,0,0,0,1,0,1,0,1]对于小于8位的数
我需要将ASCII字符串转换为位列表,反之亦然:str="Hi"->[0,1,0,0,1,0,0,0,0,1,1,0,1,0,0,1][0,1,0,0,1,0,0,0,0,1,1,0,1,0,0,1]->"Hi" 最佳答案 有很多方法可以使用库函数来做到这一点。但是我偏向于第三方bitarray模块。>>>importbitarray>>>ba=bitarray.bitarray()从字符串转换需要一些仪式。曾几何时,您可以只使用fromstring,但该方法现在已被弃用,因为它必须将字符串隐式编码为字节。为避免不可避免的编码错误,