python一维数组拼接,python把多个文件拼接
字节、字节数组
Python3引入了两种新类型
字节
不变字节序列
简单地想象一个字节列表。
bytearray
字节数组
可变的
字节序列和字符串序列有什么区别?
以字符串为单位。
字节以单字节为单位,这在网络传输过程中非常重要。
字节是不可变的,因此出现了bytearray类型。
字符串拼接,用效率不是很高,所以用format,format string,format来优化效率。
所有数据都可以按字节处理。
在python中,最重要的是用字节来处理字符串。
和字节。
是字符的有序列表,可以通过编码来理解。
Bytes是一个有序且不可变的字节序列。
Bytearray是一个有序的可变字节序列。
编码和解码
Encode根据字符串的不同字符集返回字节序列字节。
编码(编码= UTF-8 ,错误=严格)-字节-不可变
字节序列根据不同的字符集进行编码。decode返回一个字符串。
bytes.decode(encoding=utf-8 ,error=strict) - str
bytearray . decode(encoding= utf-8 ,error=strict) - str
-gb2312和gbk都是2字节用于播放。
-unicode编码,也就是多字节播放。
-内存中的数据,都是字节,你需要告诉内存,这是什么编码,才能找到数字对应的字符。
-linux默认编码是utf-8,windows默认编码是gbk。
Linux的回车符是\r\n,windows的回车符是\n
-这就是linux和windows对打字机的不同理解。
-linux换行,自动转到下一行,然后回到末尾。
——windows是先回过头,再下来。
-这是大家对不同操作系统不同代码的理解。
-字符串的编码是可以理解的。
-编码无非就是一个编码表,告诉你某个数字和某个字符的对应关系。
-这些字符可以显示在屏幕上。转到字体,找到对应的点阵映射。
-然后将点阵映射到屏幕上的点阵上。
封装的列表比数组更复杂。
在列表的C语言源代码中,包实际上是一个数组。
字节定义
定义
Bytes()空字节,无用
Bytes(int)指定字节的字节,用0填充
bytes(iterable _ of _ ints)-一个由字节整数[0,255]组成的迭代对象
Bytes (string,encoding [,errors])-bytes等效于string.encode()
bytes(bytes _ or _ buffer)-bytes _ or _ buffer的不可变副本
从字节序列或缓冲区复制一个新的不可变字节对象。
使用b前缀定义
只允许基本ASCII字符形式babc9。
使用十六进制表示b\x41\x61
和str类型类似,都是不可变类型,所以很多方法都是一样的。只有bytes方法,输入是字节,输出是字节。
babcdef 。替换(bf ,bk )
美国广播公司。查找(bb )
类bytes.fromhex(字符串)
类似于java和c中的静态方法。
字符串必须是2个字符的十六进制形式,“6162 6a 6b”,空格将被忽略。
bytes.fromhex(6162 09 6a 6b00 )
十六进制()
返回十六进制表示的字符串。
abc。编码()。十六进制()
指数
Babcdef[2]返回对应于该字节的数字,类型为int。
有序序列可以被索引和迭代。
字节数组定义
定义
Bytearray()空字节
Bytearray(int)指定字节的Bytearray,用0填充。
ByteArray(iterable _ of _ ints)-由ByteArray [0,255]的int组成的迭代对象
ByteArray (string,encoding [,errors])-ByteArray类似于string.encode(),但返回一个可变对象。
Bytearray(bytes_or_buffer)从字节序列或缓冲区复制一个新的变量Bytearray对象。
此方法可以将字节转换为bytearray,这会消耗一个内存副本。
注意,前缀B定义的类型是bytes类型。
缓冲区本身是一个bytearray。
字节数组操作
与字节类型相同的方法。
bytearray(babcdef )。替换(bf ,bk )
字节数组(babc )。查找(bb )
类bytearray.fromhex(字符串)
字符串必须是2个字符的十六进制形式,“6162 6a 6b”,空格将被忽略。
bytearray . from hex( 6162 09 6a 6b 00 )
十六进制()
返回十六进制表示的字符串。
bytearray(abc 。encode())。十六进制()
指数
Bytearray(babcdef)[2]返回对应于该字节的数字,该数字的类型为int。
字节数组操作
Append(int)在末尾追加一个元素。
Insert(index,int)在指定的索引位置插入元素。
Extend(iterable_of_ints)将一组迭代整数追加到当前bytearray中。
Pop(index=-1)从指定的索引中移除元素,默认情况下从尾部移除。
Remove(value)查找第一个值Remove,但找不到引发ValueError的异常。
注意:如果上述方法需要使用int类型,则取值为[0,255]
Clear()清除bytearray。
Reverse()翻转bytearray并就地修改它。
b=bytearray()
b .追加(97)
b .追加(99)
b .插入(1,98)
扩展([65,66,67])
B.remove(66) #找不到抛出的异常,所以一定要处理好异常。
流行音乐
反向()
b.clear()
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。