第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何從二進(jìn)制字符串中獲取字節(jié)數(shù)組?

如何從二進(jìn)制字符串中獲取字節(jié)數(shù)組?

哈士奇WWW 2022-01-11 17:12:28
我有二進(jìn)制字符串,即“00000000000000001011000001000010”。我想將此字符串轉(zhuǎn)換為字節(jié)數(shù)組并從該字節(jié)數(shù)組中獲取相應(yīng)的浮點(diǎn)值。如何在python中完成?我嘗試使用struct.unpack().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">>> print(bitstring_to_bytes(s))>>> B>>> struct.unpack('>f',B)還指導(dǎo)我從字節(jié)數(shù)組中獲取浮點(diǎn)值。最后,我們應(yīng)該得到 float value=88.0
查看完整描述

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,)


查看完整回答
反對(duì) 回復(fù) 2022-01-11
?
翻過(guò)高山走不出你

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)


查看完整回答
反對(duì) 回復(fù) 2022-01-11
  • 2 回答
  • 0 關(guān)注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)