2 回答

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個贊
我在這里總結(jié)討論,因?yàn)樗兊糜悬c(diǎn)冗長?;旧夏阆胍氖怯脩糨斎胍粋€應(yīng)該被解釋為許多 2 位十六進(jìn)制值的數(shù)字。例如:
0110
應(yīng)解釋為:
0x01
0x10
為了做到這一點(diǎn),我首先將您的輸入字符串拆分為一個 2 位字符串?dāng)?shù)組。然后我將轉(zhuǎn)換每個元素并將其附加到您的二進(jìn)制元素?cái)?shù)組:
strArray = [hexdec[idx:idx+2] for idx in range(len(hexdec)) if idx%2 == 0]
for elem in strArray:
bin_value = bin(int(elem,16))[2:]
bin_value = (8 - (len(bin_value)% 8)) * '0' + bin_value
dynamic_arrayList.append(bin_value)
當(dāng)用戶輸入0110這會產(chǎn)生:
['00000001', '00010000']

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個贊
該int()
構(gòu)造函數(shù)不接受字符串用空格,所以你應(yīng)該join
沒有之一。
改變:
number_length = len(' '.join(bytes)) elements = ' '.join(bytes)
至:
number_length = len(''.join(bytes)) elements = ''.join(bytes)
添加回答
舉報(bào)