python中的bytes与bytearray

在网络编程中我们避免不了与bytes序列打交道,python中提供了两种存储byte的结构:bytes和bytearray。
首先说明一点,bytearray比bytes更加灵活,而且bytearray可以转为bytes。但是bytes因为不允许修改,所以会更加安全。
bytes(n):初始化一个长度为n的bytes。需要声明的一点是bytes是不允许修改自身的,我们的bytes.replace(old,new)其实是新创建了一个old副本,把其中需要替换的部分修改为new之后返回一个新的old。
bytearray(n):初始化一个长度为n的bytearray,需要将[k,m)位替换为data时直接修改即可

b=bytearray(n)
b[k,m]=data
b_bytes=bytes(b)#转为bytes类型
b_str=b_bytes.decode()#bytes转str
posted @ 2024-07-15 00:19  wxlu  阅读(47)  评论(0)    收藏  举报