2 回答

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以轉(zhuǎn)換為int并使用以下to_bytes方法:
s="00000000000000001011000001000010"
def bitstring_to_bytes(s):
return int(s, 2).to_bytes(len(s) // 8, byteorder='big')
print(bitstring_to_bytes(s))
>>>b'\x00\x00\xb0B'
并獲得浮動(dòng):
import struct
struct.unpack('f', bitstring_to_bytes(s))
>>>(88.0,)

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊
從文檔:
使用unsigned char類型:
import struct
def bitstring_to_bytes(s):
v = int(s, 2)
b = bytearray()
while v:
b.append(v & 0xff)
v >>= 8
return bytes(b[::-1])
s = "00000000000000001011000001000010"
r = bitstring_to_bytes(s)
print(struct.unpack('2B', r))
輸出:
(176, 66)
添加回答
舉報(bào)