📜  Python| bytearray()函数

📅  最后修改于: 2022-05-13 01:54:54.185000             🧑  作者: Mango

Python| bytearray()函数

bytearray()方法返回一个 bytearray 对象,它是一个给定字节的数组。它给出了 0 <= x < 256 范围内的可变整数序列。

句法:

bytearray(source, encoding, errors)

参数:

source[optional]: Initializes the array of bytes
encoding[optional]: Encoding of the string
errors[optional]: Takes action when encoding fails

返回:返回给定大小的字节数组。

source参数可用于以几种不同的方式初始化数组。让我们借助示例一一讨论。

代码#1:如果是字符串,必须提供编码和错误参数, bytearray()使用str.encode() ) 将字符串转换为字节

str = "Geeksforgeeks"
  
# encoding the string with unicode 8 and 16
array1 = bytearray(str, 'utf-8')
array2 = bytearray(str, 'utf-16')
  
print(array1)
print(array2)

输出:

bytearray(b'Geeksforgeeks')
bytearray(b'\xff\xfeG\x00e\x00e\x00k\x00s\x00f\x00o\x00r\x00g\x00e\x00e\x00k\x00s\x00')


代码 #2:如果是整数,则创建该大小的数组并用空字节初始化。

# size of array
size = 3
  
# will create an array of given size 
# and initialize with null bytes
array1 = bytearray(size)
  
print(array1)

输出:

bytearray(b'\x00\x00\x00')


代码#3:如果是对象,只读缓冲区将用于初始化字节数组。

# Creates bytearray from byte literal
arr1 = bytearray(b"abcd")
  
# iterating the value
for value in arr1:
    print(value)
      
# Create a bytearray object
arr2 = bytearray(b"aaaacccc")
  
# count bytes from the buffer
print("Count of c is:", arr2.count(b"c"))

输出:

97
98
99
100
Count of c is: 4


代码 #4:如果是 Iterable(range 0<= x < 256),则用作数组的初始内容。

# simple list of integers
list = [1, 2, 3, 4]
  
# iterable as source
array = bytearray(list)
  
print(array)
print("Count of bytes:", len(array))

输出:

bytearray(b'\x01\x02\x03\x04')
Count of bytes: 4

代码#5:如果没有源,则创建一个大小为 0 的数组。

# array of size o will be created
  
# iterable as source
array = bytearray()
  
print(array)

输出:

bytearray(b'')