當前位置:首頁 » 編程語言 » python二進制數據

python二進制數據

發布時間: 2023-01-01 09:43:20

⑴ 在python中如何從二進制文件中讀取信息

你是指讀入二進制文件吧?x0dx0a可以使用numpy.fromfile(),也可以使用open(filename, 'rb'),其中的'b'就是二進制的意思,然後使用文件類型的read方法,讀取一些位元組,再用struct.unpack()方法來解析二進制。x0dx0a第一種方法是一次性讀入文件(或文件的前多少個連續位元組)到一個數組中,因此,靈活性差。x0dx0a第二種方法靈活性很高,可以讀取任意位置(使用文件的seek()方法跳躍位置)的二進制數據,再使用struct.unpack()方法來進行各種二進制解析。x0dx0ax0dx0a提示:二進制文件是不保留存儲方式的數據格式,因此,讀二進制文件時應該知道二進制文件的存儲格式。

⑵ 求助: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中二進制數10101轉為十進制數的表達式是什麼

在Python中,可以使用int()函數將二進制數10101轉換為十進制數。int()函數的第一個參數為要轉換的數,第二個參數為進制。例如,要將二進制數10101轉換為十進制數,可以使用以下表達式:
int('10101', 2)

該表達式會將二進制數10101轉換為十進制數21。

⑷ python讀取二進制並轉為其他類型數據

file = open("test.spc", 'rb')

content = file.read()

unpack('H', binary_string) # unsigned short
unpack('d', binary_string) # double
unpack('Q', binary_string) # unsigned long long
unpack('l', binary_string) # long

pack('H',1) # unsigned short
pack('d', 5.23) # double
pack('Q', 11111111) # unsigned long long
pack('l', 1111) # long</pre>

詳見官方文檔: struct官方文檔

⑸ python3字元串與二進制互相轉換

python中,沒有" 0-1 "形式的二進制類型,但我們依然可以存儲二進制類型的數據。

利用字元串(string)類型,可以存儲二進制數據。即:將二進制數據以字元串的形式存儲。

下面分享一種字元串和二進制串互相轉換的具體實現方法。

運行結果:

【END】

最後給大家推薦一個好東西:

每個python程序員想必都會很喜歡的東西,點擊去看

喜歡嗎?喜歡就點個贊吧~

⑹ python二進制最左邊是0

這是因為早期只使用了127個字元,而7位就完全能夠表示,所以最高位是0。
二進制,發現者萊布尼茨,是在數學和數字電路中以2為基數的記數系統,是以2為基數代表系統的二進位制。
這一系統中,通常用兩個不同的符號0(代表零)和1(代表一)來表示。數字電子電路中,邏輯門的實現直接應用了二進制,現代的計算機和依賴計算機的設備里都使用二進制。

⑺ python 怎麼處理二進制文件

處理二進制數據離不開python的struct模塊,struct理解上你可以把它理解為c語言的結構體,使用該模塊的pack和unpack方法,可以很容易的把二進制數據轉換為常用的類型數據,如整型、字元型等
結構體如下:
struct Header

{

unsigned short id;

char[4] tag;

unsigned int version;

unsigned int count;

}

⑻ Python讀取二進制文件

實際項目中經常遇到讀取二進制問題,Python下讀取二進制文件一般用Python的文件打開讀寫相關函數和struct.

1。獲取文件名filename,可用對話框,也可以直接手寫

2。打開文件,這里中是打開,像看書一樣,只是打開書,還沒有看裡面的內容,可以看,也可以不看

binFile=open(filename,'rb')

3。那就看看吧,binFile現在就是書的名字了。這里我們讀入4個字,如果read()將讀入整個文件

context=binFile.read(4)

4。讀入之後問題來了,context包含四個字(4Bytes),但這四個字是加密的(二進制)。這時要找翻譯struct.unpack

realContext=struct.unpack(format,context)

5。format的就是加密規則了,由1,2,4,8個位元組組成其他類型,或者其他類型的數組。

a,b,c,d=struct.unpack('4c',context)

讀入四個字元

對應格式參考 www.jianshu.com/p/5a985f29fa81

6。打開文件後用完一定要關閉,和看書一個樣,看完後要合上,不合上後果自己去想

binFile.close()

7。查找內容,文件內容可以一個一個字的按順序讀出,但如果已經知道內容在什麼位置,可以用查找方式讀出。

binFile.seek(100)

context=binFile.read(4)

讀出100位置後面的4個字,(101,102,103,104)

8。Python還提供也一些高級讀寫功能,如整行讀取等

熱點內容
南方次元的解壓 發布:2025-07-02 10:31:32 瀏覽:246
葉祖新編程 發布:2025-07-02 10:29:06 瀏覽:400
k4在哪裡下載安卓 發布:2025-07-02 10:15:32 瀏覽:909
魔獸腳本破解版 發布:2025-07-02 10:15:30 瀏覽:995
鋒雲7800伺服器無網路怎麼辦 發布:2025-07-02 10:03:53 瀏覽:1000
安卓哪個版本可以安裝sd卡 發布:2025-07-02 09:58:09 瀏覽:984
存儲包下行流量包 發布:2025-07-02 09:49:00 瀏覽:364
固態主控演算法 發布:2025-07-02 09:38:27 瀏覽:12
計算機存儲器尺寸是多少 發布:2025-07-02 09:32:15 瀏覽:146
危化品停車場消防器材如何配置 發布:2025-07-02 09:31:37 瀏覽:817