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

python處理二進制

發布時間: 2023-11-06 10:49:47

① 如何用python把二進制數轉換為十進制數

length = input("請輸入這個二進制數有幾位數:")

numbers = []

for i in range(eval(length)):

numbers.append(input("請輸入數字:")) #這里有縮進

print(eval("0b"+"".join(numbers)))


然後再改一下縮進應該就行了

② 如何用Python將十進制數字轉為二進制,以及將二進制轉為十六進制

1、將十進制轉換成二進制,利用bin()方法。

③ python怎麼處理二進制流

可以的,二進制是計算機內的表示方法,處理二進制數據是最基本的能力。
如果是二進制字元串轉十進制:
>>> x = '10101010'
>>> int(x, 2)
170

如果是從文件或網路中獲取的數據,要知道某一位是0還是1的話,獲取的數據可以按字元讀取,由於一個字元由8位二進製表示,分別讀取1到8位的二進制值就可以了:
>>> get_char_bit = lambda char, n: (char >> (8-n)) & 1 # 從高到低分別為第1~8位
>>> data = b'ab' # 在python3中字元串默認是unicode,所以加上b前綴兼容
>>> # 在python3中按字元讀取byte字元串是數字,而python2讀出來的卻是字元,但bytearray是一致的都是數字
>>> data = bytearray(data)
>>> result = []
>>> for char in data:
for i in range(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]

④ Python中的文件讀寫-理論知識

Python處理兩種不同類型的文件:二進制文件和文本文件。了解兩者之間的差異很重要,因為它們的處理方式不同。

二進制文件

在正常計算機使用期間使用的大多數文件實際上是二進制文件,而不是文本。比如:Microsoft Word .doc文件實際上是一個二進制文件,即使它只有文本。

二進制文件的其他示例包括:

圖像文件,包括.jpg,.png,.bmp,.gif,等。

資料庫文件包括.mdb,.frm和.sqlite

文件,包括.doc,.xls,.pdf或者其他文件。

那是因為這些文件都有特殊處理的要求,需要特定類型的軟體來打開它。例如,您需要Excel來打開.xls文件,並使用資料庫程序來打開.sqlite文件。

文本文件

一方面,沒有特定的編碼,可以通過沒有任何特殊處理的標准文本編輯器打開。但是,每個文本文件都必須遵守一組規則:

文本文件必須是可讀的。他們可以(並且經常會)包含許多特殊編碼,尤其是在HTML或其他標記語言中,但您仍然可以說出它的含義

文本文件中的數據按行組織。在大多數情況下,每一行都是一個獨特的元素,無論是指令行還是命令。

此外,文本文件在每行的末尾都有一個看不見的字元,這使文本編輯器知道應該有一個新行。通過編程與這些文件交互時,您可以利用該字元。在Python中,它用「 n」 表示。

在哪裡可以找到Python的文件I / O工具

在Python中工作時,您不必擔心導入任何特定的外部庫來處理文件。Python附帶有「文件庫」,文件I / O工具和實用程序是核心語言的內置部分。

但是在其他語言(如C ++)中,要處理文件,您必須通過包含正確的頭文件來啟用文件I / O工具#include <fstream>。如果您使用java編寫代碼,則需要使用該import java.io.*語句。

使用Python,就沒有必要這樣做,這是因為Python有一組內置函數,可以處理讀取和寫入文件所需的所有內容。

⑤ python讀取C#寫的二進制文件,byte類型unpack

        近期有一部分早期記錄數據,C#寫的二進制數據,在讀取的過程中,short和unshort類型還是比較好轉換的,但是碰到byte類型,對照struct的說明是x,設置讀取格式時,這部分會空出來,讀不出來。查看說明C#的byte類型在python是no value,用x讀不出來。因為大概知道數據是整數類型的,於是用b(與B區別,是否有負值),也是1個位元組,和C#中的byte一樣長度,可以正確顯示出來數據。如果是字元類,可以考慮c,s,p。注意變數所佔位元組數。(讀出來數據最好測試驗證一下)。

def readWrite(fname):

    with open(fname,'rb') as f:

        if fname[-3:] == 'RPT' :    #文件格式是RPT格式的二進制文件

            data = f.read()

           #fmt = 'H16x2H4x2H10x5H2h6H'   #數據格式中x會導致數據忽略掉,讀不出來

           fmt = 'H16b2H4b2H10b5H2h6H'   #採用b替換後,數據格式顯示正常

            data1= struct.unpack(fmt,data)

        elif fname[-3:] == 'DAY':     #文件格式時DAY格式的二進制文件

            data = f.read()

            fmt = '4i'

            data1= struct.unpack(fmt,data)

        else:

            data1 = '不是指定文件或文件錯誤'

            print('不是指定文件')

    return data1

⑥ python輸入一個三位數 輸出百位十位個位數字的二進制數

s = 123
for i in list(str(s)):

print(bin(int(i)))

⑦ Python中b101011是合法的二進制數值表示形式

是的,是 Python 中有效的二進制數表示形式。在 Python 中,二進制數使用前綴後跟一系列 and 數字來表示。例如,二進制數可以像在 Python 中一樣寫。b1010110b011010110b101011

下面是在 Python 中使用前綴定義二進制數的示例:0b

回答不易望請採納

熱點內容
什麼是密碼屏蔽 發布:2025-01-31 11:05:13 瀏覽:216
一個演算法的效率可分為 發布:2025-01-31 11:05:12 瀏覽:639
win7用戶名密碼是什麼 發布:2025-01-31 10:57:38 瀏覽:394
網址埠訪問 發布:2025-01-31 10:49:30 瀏覽:512
javaweb代碼 發布:2025-01-31 10:37:54 瀏覽:259
sqlserver合並 發布:2025-01-31 10:22:27 瀏覽:712
大理伺服器地址 發布:2025-01-31 10:10:52 瀏覽:972
流上傳文件 發布:2025-01-31 10:09:27 瀏覽:40
滿贈演算法 發布:2025-01-31 09:54:27 瀏覽:709
濱州視頻拍攝腳本 發布:2025-01-31 09:48:25 瀏覽:418