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

熱點內容
phpmysqlpdomysqli 瀏覽:802
php修改sql語句 瀏覽:714
android有道api 瀏覽:381
撓耳營水表用的什麼app 瀏覽:49
戰錘40kpdf 瀏覽:375
java判斷字元串是漢字 瀏覽:462
2017初級教材pdf 瀏覽:451
松下空調壓縮機品牌 瀏覽:817
python復選框 瀏覽:746
反詐中心app是什麼時候出來的 瀏覽:586
魔獸世界需要什麼伺服器地址 瀏覽:189
啥是單片機休眠 瀏覽:104
什麼音樂app最好 瀏覽:927
牙膏自製解壓神器 瀏覽:329
卸載linuxwps 瀏覽:228
threadjavarunnable 瀏覽:360
一元線性回歸計演算法 瀏覽:950
刷寶app是什麼鬼 瀏覽:744
linux動態載入模塊 瀏覽:25
javamd5工具類 瀏覽:76