Python学习笔记015——序列(字节数组 bytearray)
2018-02-10 06:52
465 查看
1 序列
常见的序列有:list tuple str bytes(字节串) bytearray2 字节数组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:解码
相关文章推荐
- 【零基础入门学习Python笔记012】一个打了激素的数组3
- 一个无聊男人的疯狂《数据结构与算法分析-C++描述》学习笔记 用C++/lua/python/bash的四重实现(7)习题2.8 随机数组的三种生成算法
- 从零开始学Python学习笔记---之--pandas序列部分
- Python学习笔记4-字符串和序列
- python基础教程_学习笔记1:序列-1
- python基础教程_学习笔记2:序列-2
- python基础教程_学习笔记1:序列-1
- 【零基础入门学习Python笔记011】一个打了激素的数组2
- python初学者学习笔记(二)数组的操作
- 【python学习笔记】18:numpy数组函数与矩阵运算
- Python学习笔记015——文件file的常规操作(二进制文件)
- Python学习笔记----序列共性
- python学习笔记二:序列及序列的操作
- 【Python】学习笔记三:序列
- Python3学习笔记03-基本数据类型、序列、运算及缩进和选择
- python 学习笔记(1)--numpy数组转置
- python学习笔记(1-4)- 数据结构序列之字符串
- Python学习笔记---递归算法(阶乘、斐波那次序列、汉诺塔)
- Python学习笔记 -- 序列(四)元组
- Python学习笔记5-字符串、bool、数值操作和数组字典排序