python编程-内置函数 bytes() , bytearray()详解
bytes()函数用于创建一个新的不可变的字节序列对象,它是bytearray()的不可变版本。这个函数非常有用,尤其是在处理二进制数据、进行网络编程或者文件操作时。
bytes() 和 bytearray() 都用于处理二进制数据的两个内置函数。它们的主要区别在于 bytes 是不可变的,而 bytearray 是可变的。
1. bytes() 函数
bytes() 函数用于创建一个不可变的字节对象。它可以接受多种类型的参数,如整数、字符串、可迭代对象等。
# 示例 1: 使用整数创建字节对象
# 创建一个包含 5 个字节的字节对象,每个字节的值为 0
b = bytes(5)
print(b) # 输出: b'\x00\x00\x00\x00\x00'
# 示例 2: 使用字符串创建字节对象
# 将字符串编码为字节对象
b = bytes('hello', 'utf-8')
print(b) # 输出: b'hello'
# 示例 3: 使用可迭代对象创建字节对象
# 使用列表创建字节对象
b = bytes([65, 66, 67])
print(b) # 输出: b'ABC'
2. bytearray() 函数
bytearray() 函数用于创建一个可变的字节数组对象。与 bytes 类似,它也可以接受多种类型的参数。
# 示例 1: 使用整数创建字节数组
# 创建一个包含 5 个字节的字节数组,每个字节的值为 0
ba = bytearray(5)
print(ba) # 输出: bytearray(b'\x00\x00\x00\x00\x00')
# 示例 2: 使用字符串创建字节数组
# 将字符串编码为字节数组
ba = bytearray('hello', 'utf-8')
print(ba) # 输出: bytearray(b'hello')
# 示例 3: 使用可迭代对象创建字节数组
# 使用列表创建字节数组
ba = bytearray([65, 66, 67])
print(ba) # 输出: bytearray(b'ABC')
# 示例 4: 修改字节数组
# 修改字节数组中的某个字节
ba = bytearray(b'hello')
ba[0] = 72 # 将第一个字节修改为 72 (即 'H')
print(ba) # 输出: bytearray(b'Hello')
总结
bytes() 创建一个不可变的字节对象。
bytearray() 创建一个可变的字节数组对象。
两者都可以通过整数、字符串、可迭代对象等方式创建。