`bytearray` ,位元組數組,是一個可變位元組序列,包含範圍為 `0 <= x < 256` 的整數。 `bytearray` 對象是 [bytes](https://blog.csdn.net/manongajie/article/details/105582636) 對象(bytes 是不可... ...
您的“關註”和“點贊”,是信任,是認可,是支持,是動力......
如意見相佐,可留言。
本人必將竭盡全力試圖做到準確和全面,終其一生進行修改補充更新。
目錄
1 bytearray
類型概述
bytearray
,位元組數組,是一個可變位元組序列,包含範圍為 0 <= x < 256
的整數。
bytearray
對象是 bytes 對象(bytes 是不可變位元組序列)的可變序列對應物。
由於 bytearray
對象是由整數構成的序列(類似於列表),因此對於一個 bytearray 對象 b
,b[0]
將為一個整數
,而 b[0:1]
將為一個長度為 1
的 bytearray 對象
。 (這與文本字元串不同,文本字元串索引和切片所產生的將都是一個長度為 1
的字元串
)。
2 創建 bytearray
對象
2.1 創建 bytearray
對象概述
bytearray
對象沒有專屬的字面值語法,它們總是通過調用構造器來創建:
- 創建一個空實例:
bytearray()
。 - 創建一個指定長度的以零值填充的實例:
bytearray(10)
- 通過由整數組成的可迭代對象:
bytearray(range(20))
- 通過緩衝區協議複製現有的二進位數據:
bytearray(b'Hi!')
2.2 bytearray([source[, encoding[, errors]]])
構造器(內置函數)
構造器使用格式如下所示:
class bytearray([source[, encoding[, errors]]])
對以上格式說明,
返回值
:返回一個新的 bytes 數組。source
:是一個可選形參。可選形參source
可以用不同的方式來初始化數組,如下所示:
① 如果是一個文本序列(字元串),必須提供encoding
參數(errors 參數仍是可選的);bytearray()
會使用str.encode()
方法來將文本序列(字元串str
)轉變成位元組序列bytes
。
② 如果是一個整數,會初始化大小為該數字的數組(創建一個為該整數個位元組的位元組數組),並使用null
位元組(十六進位的 0x0 填充)填充。
③ 如果是一個符合buffer
介面的對象,該對象的只讀 buffer 會用來初始化位元組數組。
④ 如果是一個iterable
可迭代對象,它的元素的範圍必須是0 <= x < 256
的整數,它會被用作數組的初始內容。
⑤ 如果沒有實參,則創建大小為0
的位元組數組。