導航:首頁 > 編程語言 > python獲取字元串的二進制

python獲取字元串的二進制

發布時間:2024-12-07 22:42:57

python整數轉化為二進制

1、你可以自己寫函數採用 %2 的方式來算。
>>> binary = lambda n: '' if n==0 else binary(n/2) + str(n%2)>>> binary(5)'101'>>>

2、採用 python 自帶了方法 bin 函數,比如 bin(12345) 回返回字元串 '0b11000000111001', 這個時候在把0b去掉即可:
>>> bin(12345).replace('0b','')'11000000111001'

3、也可以採用字元串的 format 方法來獲取二進制:
>>> "{0:b}".format(12345)'11000000111001'>>>

㈡ python中,怎麼樣把特定的字元串轉為二進制序列

幹嘛不用binascii
>>> import binascii
>>> dir(binascii)
['Error', 'Incomplete', '__doc__', '__name__', '__package__', 'a2b_base64', 'a2b
_hex', 'a2b_hqx', 'a2b_qp', 'a2b_uu', 'b2a_base64', 'b2a_hex', 'b2a_hqx', 'b2a_q
p', 'b2a_uu', 'crc32', 'crc_hqx', 'hexlify', 'rlecode_hqx', 'rledecode_hqx', 'un
hexlify']
>>> binascii.a2b_hex("a16203")
'\xa1b\x03'
>>>

㈢ 求助:python如何按位解析二進制數據

可以的,二進制是計算機內的表示方法,處理二進制數據是最基本的能力。

如果是二進制字元串轉十進制:

>>>x='10101010'
>>>int(x,2)
170

如果是從文件或網路中獲取的數據,要知道某一位是0還是1的話,獲取的數據可以按字元讀取,由於一個字元由8位二進製表示,分別讀取1到8位的二進制值就可以了:

>>>get_char_bit=lambdachar,n:(char>>(8-n))&1#從高到低分別為第1~8位
>>>data=b'ab'#在python3中字元串默認是unicode,所以加上b前綴兼容
>>>#在python3中按字元讀取byte字元串是數字,而python2讀出來的卻是字元,但bytearray是一致的都是數字
>>>data=bytearray(data)
>>>result=[]
>>>forcharindata:
foriinrange(1,9):
result.append(get_char_bit(char,i))

>>>result
[0,1,1,0,0,0,0,1,0,1,1,0,0,0,1,0]

還有一種比較簡單的方法是使用內置的bin函數

>>>data=bytearray(b'ab')
>>>result=[]
>>>forcharindata:
result.extend(bin(char)[2:].rjust(8,'0'))

>>>result
['0','1','1','0','0','0','0','1','0','1','1','0','0','0','1','0']
閱讀全文

與python獲取字元串的二進制相關的資料

熱點內容
精品php源碼 瀏覽:960
自己編寫雲伺服器搶紅包 瀏覽:203
java解壓縮文件加密 瀏覽:887
dlink列印伺服器默認地址 瀏覽:353
php休眠函數 瀏覽:372
金蝶如何打開伺服器 瀏覽:766
e4a手游輔助源碼 瀏覽:777
什麼app可以實時直播 瀏覽:106
蘋果13的app閃退什麼原因 瀏覽:775
尾盤選股源碼公式 瀏覽:450
php日期運算 瀏覽:931
天龍八部長歌伺服器什麼時候開的 瀏覽:199
鬼泣4模型在那個文件夾 瀏覽:229
單片機的串列口 瀏覽:58
phpjson轉化為數組 瀏覽:268
pdf導入excel 瀏覽:428
蘋果xsmax信任app在哪裡設置 瀏覽:53
自動外鏈php源碼 瀏覽:245
我的世界新手獎勵箱命令 瀏覽:146
linux更新vim 瀏覽:998