备案的时候网站建设方案书要吗,上海展览设计搭建公司,湖南建筑信息平台,今天发生的重大新闻内容bytearray 是 Python 中的一个内置类型#xff0c;用于表示可变长度的字节序列。它是 bytes 类型的可变版本#xff0c;即 bytearray 实例的内容可以修改#xff0c;而 bytes 实例是不可变的。
创建 bytearray 的方式#xff1a; 通过构造函数创建#xff1a;可以通过传递…bytearray 是 Python 中的一个内置类型用于表示可变长度的字节序列。它是 bytes 类型的可变版本即 bytearray 实例的内容可以修改而 bytes 实例是不可变的。
创建 bytearray 的方式 通过构造函数创建可以通过传递一个整数表示字节数组的长度来创建一个新的空字节数组或者传递一个字节字符串或字节数组来创建一个新的字节数组。 ba1 bytearray(10) # 创建一个长度为10的空字节数组
ba2 bytearray(bhello) # 创建一个包含hello的字节数组 通过字节串转换可以使用 bytes 类型的 tobytes 方法将 bytearray 转换为字节串或者使用 bytearray 构造函数将字节串转换为 bytearray。 ba bytearray(bhello)
bs ba.tobytes() # bs 是一个 bytes 实例 通过列表转换还可以使用整数列表来创建 bytearray列表中的每个元素都必须在 0 到 255 之间。 ba bytearray([72, 101, 108, 108, 111]) # 创建一个包含hello的字节数组ASCII 码
bytearray 的主要优点是可变性可以使用索引、切片或 append、extend、insert、remove、pop 等方法来修改它。这在处理二进制数据时非常有用特别是需要修改或构建二进制数据时。
此外bytearray 还支持一些其他方法如 fromhex从十六进制字符串创建字节数组和 tohex将字节数组转换为十六进制字符串。
# 创建一个bytearray对象
ba bytearray(bHello, World!) # 打印原始bytearray
print(Original bytearray:, ba) # 输出bytearray(bHello,World!)# 修改bytearray中的某个字节
# 将 H (ASCII 72) 修改为 h (ASCII 104)
ba[0] 104
print(Modified bytearray:, ba) # 输出bytearray(bhello,World!)# 也可以在bytearray末尾添加新的字节
ba.extend(b again!)
print(Extended bytearray:, ba) # 输出bytearray(bhello,World! again!)# 使用append方法添加一个字节
ba.append(ord(!))
print(Appended bytearray:, ba) # bytearray(bhello,World! again!!)# 删除bytearray中的倒数2个字节
del ba[-2:]
print(Truncated bytearray:, ba) # bytearray(bhello, World! again)# 使用insert方法插入一个字节
ba.insert(0, ord(M))
print(Inserted bytearray:, ba) # bytearray(bMhello, World! again)# 使用remove方法删除一个字节注意只会删除第一个匹配的字节
ba.remove(ord(l))
print(Removed bytearray:, ba) # bytearray(bMhelo, World! again)# 使用pop方法弹出并返回指定索引处的字节
popped ba.pop(5)
print(Popped byte:, popped) # 44
print(After pop bytearray:, ba) # bytearray(bMhelo World! again) 【删除chr(44):,# 反转bytearray
ba.reverse() # 打印反转后的bytearray
print(Reversed bytearray:, ba) # bytearray(bniaga !dlroW olehM)
ps:
*将bytearray转换为字符串可以使用decode()方法
*当只涉及英文字符时ASCII编码和UTF-8编码相同因为UTF-8编码对ASCII字符集是兼容的。对于ASCII字符集中的字符它们在UTF-8编码中仍然使用一个字节表示且字节的二进制表示与ASCII编码相同。因此当只处理英文字符时使用ASCII编码或使用UTF-8编码没有区别。