Python中的bytearray()和bytes()函式
阿新 • • 發佈:2018-12-12
Python中的bytearray()和bytes()函式
概述
bytearray() 函式返回新位元組陣列,數組裡的元素可變,且每個元素的值在0至255之間。bytes()函式是Python 3中增加的內建函式,語法、引數與bytearray() 一樣,只是返回的新位元組陣列不可變。它是 bytearray() 的不可變版本。
語法
class bytearray([source[, encoding[, errors]]])
class bytes([source[, encoding[, errors]]])
引數
- 如果 source 為整數,則返回一個長度為 source 的初始化陣列;
- 如果 source 為字串,則按照指定的 encoding 將字串轉換為位元組序列;
- 如果 source 為可迭代型別,則元素必須為[0 ,255] 中的整數;
- 如果 source 為與 buffer 介面一致的物件,則此物件也可以被用於初始化 bytearray;
- 如果沒有輸入任何引數,預設就是初始化陣列為0個元素。
示例
>>> bytearray() bytearray(b'') >>> bytearray(1) bytearray(b'\x00') >>> bytearray('test','utf-8') bytearray(b'test') >>> a=bytearray('hello','ascii') >>> a bytearray(b'hello') >>> type(a) <class 'bytearray'> >>> a=bytes('hello','ascii') >>> a b'hello' >>> type(a) <class 'bytes'> >>> bytearray([1,2,3,4]) bytearray(b'\x01\x02\x03\x04') >>> bytearray([1,256,300,400]) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: byte must be in range(0, 256)