日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

二进制python_利用Python对二进制数据进行按位处理

發布時間:2024/1/23 python 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二进制python_利用Python对二进制数据进行按位处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

標簽:

最近在用Python做數據包解析,遇到一些要按位處理二進制數據的問題。折騰了一個早上,大概有一點思路,記下來備忘吧。

我要解決的問題是判斷一個字節的某幾位是否為特定的值,比如判斷一個字節的前四位是不是0110。

首先,創建一個文檔,里面隨便寫點東西,保存之后用可以查看二進制數據的軟件打開,我用的是notepad++里的HEX-Editor插件。

可以看到字符‘a’對應的二進制數據是61(01100001)。下面對這個字節的數據進行處理。

首先是打開文件,用read()函數讀進去一個字節,用16進制進行編碼,編碼之后會變成一個str類型,這時對它進行轉換,int()函數可以將一個str轉換成int類型,int()函數的第二個參數代表了進制。mask為11110000,我用mask和要處理的字節進行與,可以得到數據前四位的內容。在這里,01100001的前四位是0110,與完的結果是01100000,即96。

f=open('1.txt','rb')

data=int(f.read(1).encode('hex'),16)

print data

print bin(data)

mask=0b11110000

print mask

res=data&mask

print res

標簽:

總結

以上是生活随笔為你收集整理的二进制python_利用Python对二进制数据进行按位处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。