Python学习笔记015——序列(字节数组 bytearray)

1 序列

常见的序列有:list   tuple  str  bytes(字节串)  bytearray

2 字节数组bytearray

可变的字节序列,相当于bytes的可变版本。

3 创建函数bytearray

创建bytearray对象的方法规则

bytearray()
bytearray(整数n)
bytearray(整型可迭代对象)
bytearray(b'字符串')
bytearray(字符串, encoding='utf-8')

示例:

>>> bytearray()
bytearray(b'')

>>> bytearray([1,2,3])
bytearray(b'\x01\x02\x03')

>>> bytearray(["a","b","c"])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: an integer is required

>>> bytearray(3)
bytearray(b'\x00\x00\x00')

>>> bytearray("abc",encoding="utf-8")
bytearray(b'abc')

>>> bytearray("abc")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: string argument without an encoding

4 运算操作

字节数组的操作方式与列表类似

+   +=   *   *=
比较运算:  < <= > >= == !=
in /not in 运算符
索引 index / 切片 slice

示例

>>> a = bytearray(b"abcde")

>>> a[0]
97

>>> print(a)
bytearray(b'abcde')

>>> a[1:] = bytearray(b'BCDE')  #切片赋值
>>> a
bytearray(b'aBCDE')

>>> a[0] = 0x41  #单元素赋值,A的ASCII值0x41
>>> a
bytearray(b'ABCDE')

>>> b = bytes(a)  #将字节数组转成字节串
>>> b
b'ABCDE'
>>> c = bytearray(b)  #将字节串转成字节数组
>>> c
bytearray(b'ABCDE')

5 bytearray常用方法

 

方法说明
ba 代表字节数组 
ba.clear()清空
ba.append(n)追加一个字节(n为0~255的整数)
ba.remove(value)删除第一个出现的字节,如果没有则产生ValueError错误
ba.reverse()字节顺序进行反转
ba.decode(encoding='utf-8')转为字符串
ba.find(sub[, start[,end]])查找子字节串

 

 

 

 

 

 

 

6 bytes、bytearray与str之间的区别

字节串bytes、字节数组bytearray是二进制数据组成的序列,其中每个元素由8bit二进制(同1byte,同2位16进制数,同0~255)组成。

字节数计算机的语言,字符串是人类的语言,他们之间通过编码表形成一一对应关系。

最小的 ASCII 编码表只需要一位字节,且只占用了其中 [31,127] 的码位;

 

str 存储unicodel 6字符(0~65535)

bytes/bytearry = str.encode(encoding="utf-8")

str = bytes/bytearray.decode(encoding="utf-8")

encode:编码,decode:解码

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值