導航:首頁 > 編程語言 > 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獲取字元串的二進制相關的資料

熱點內容
命令行變更 瀏覽:328
linux設備和驅動 瀏覽:203
加密貨幣騙局破案 瀏覽:339
cc特徵碼加密 瀏覽:773
清空dns緩存命令 瀏覽:293
文件夾單擊右鍵一直轉圈 瀏覽:820
天天玩樂園是哪個app 瀏覽:393
單片機數碼管動態顯示效果圖 瀏覽:872
備用dns伺服器地址可以調嗎 瀏覽:265
ad劍魔和app哪個好 瀏覽:865
java的undefined 瀏覽:813
列表的合並與排序python代碼 瀏覽:324
編譯原理英文版pdf下載 瀏覽:951
c單片機pdf 瀏覽:827
adb下載命令 瀏覽:126
安卓怎麼打開pdf 瀏覽:108
php筆試題選擇題及答案 瀏覽:397
王者安卓大喬新皮膚怎麼買優惠 瀏覽:616
蘋果安卓打車價格不一樣如何解決 瀏覽:336
鴻蒙系統怎麼換為安卓系統 瀏覽:850