首頁 >後端開發 >Python教學 >為什麼 Python 中的「bytes(n)」會產生一個位元組字串而不是二進位整數?

為什麼 Python 中的「bytes(n)」會產生一個位元組字串而不是二進位整數?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-20 14:51:02495瀏覽

Why Does

理解Python 中「bytes(n)」的奇怪行為

在Python 3 中,「bytes(n)」函數產生長度為「的位元組字元串」 n」而不是將「n」轉換為二進位表示形式。歷史。轉向了物件導向的設計。 n)」的行為」被重新定義。它現在分配了一個初始化為零值的位元組序列。此變更是為了與物件導向的方法保持一致,為處理二進位資料提供一致且直覺的介面。

或者,如果目的是將整數轉換為二進位表示形式,則「to_bytes」可以採用的方法。此方法傳回整數的位元組表示形式,提供對位元組順序和符號性的更好控制。例如:

此程式碼片段以大端格式傳回整數1024 的位元組等效項:

<code class="python">(1024).to_bytes(2, byteorder='big')</code>
對於有符號整數,「to_bytes」方法提供了一個附加參數“signed”,指定二進位表示的符號。

以上是為什麼 Python 中的「bytes(n)」會產生一個位元組字串而不是二進位整數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn