python bytes bytearray,array of bytes
Bytes是不可变的字节序列。
bytearray是一个可变的字节序列,可以称为字节数组。
与字符串的区别在于,字符串是有序的字符序列,字符可以通过编码来理解。
编码:字符串根据不同的字符集进行编码。encode返回字节序列字节。
示例:str.encode(编码= UTF-8 ,错误=严格)=字节
解码:字节序列根据不同的字符集对解码返回字符串进行解码
示例:bytes.decode(编码= UTF 8 ,错误=严格)
bytearray.decode(编码=utf-8 ,错误=strict )
1.字节和字节数组的定义
Bytes()定义了一个空字节,这通常是没有用的。
Bytes(int)指定字节的字节,用0填充。定义长度
Bytes(iterable of ints)定义内容。例如,bytes(range(5))iterable是一个整数序列,否则将报告错误。
Bytes(字节或缓冲区)将字节或缓冲区转换成字节
字节(字符串,编码[,错误])来指定编码,例如:
字节( ABC , utf-8 )编码是UTF-8
或者:字节(b ABC )编码默认为utf-8。
2.字节操作
bytes的操作和str类似,只是bytes方法的输入输出都是字节。
(1)更换替换
Babcdef 。replace(bf ,bk )用k替换f并返回一个字节。
(2)查找搜索
美国广播公司。find(bb )查找B并返回位置索引
(3)类方法:bytes.fromhex(string)
字符串是2个字符的十六进制形式,如 6162 6a 6b00 空格被自动删除。
(4)hex()返回以十六进制表示的字符串。
abc。编码()。hex()=\x61\x62\x63
5)索引
Babcdef[2]=99返回相应的十进制数。
3.字节数组操作
部分用法与普通bytes类型相同,但bytearray是一个变量序列,所以可以添加、删除或修改变量序列:
Appende(int): add操作,提供一个int常量,根据ASCII码转换成相应的字节。
Insert(index,int): insert和append一样,提供int
Extend(iterable_of_ints):在iterable中添加int。
Pop(index=-1):按索引删除
Remove(value)按值删除。
Clear():清除
Reverse():转置
4.bytearray可与int互换
Int.from_bytes(bytes,byteorder):将字节数组转换为整数。
Int.to_bytes(length,byteorder):整数表示为指定长度的字节数组,这样就可以完成字符串到整数的转换。过程是s= abc b=s.decode () i=int。frome _ bytes (b) print (hex (i))。最终的输出结果是字符串“abc”。
起初,ASCII码指定字符编码。
因为汉字在中国无法表示,所以对中文版ASCII码进行了扩展和转换,产生了GB2312码,可以表示6000多个常用汉字。
汉字太多了,包括繁体字和各种文字,产生了GBK码,它包括了GB2312中的码,扩展了很多。
中国是一个多民族国家,几乎所有民族都有自己独立的语言系统。为了表达这些字符,我们继续将GBK码扩展为GB18030码。
每个国家都有自己的语言代码,所以出现了各种代码。不安装相应的代码,就无法解释相应的代码想表达什么。
后来ISO组织创造了一种编码UNICODE,非常大,可以容纳世界上任何字符和符号。所以,只要电脑上有UNICODE编码系统,无论世界上是什么样的字符,当你只需要保存文件的时候,保存为UNICODE编码就可以被其他电脑正常解释。
在UNICODE网络传输中,有UTF-8和UTF-16两种标准,每种标准分别传输8位和16位。
由于UTF-8等码体积较大,占用大量电脑空间,如果广大用户使用的是汉字,也有可能使用GBK等码。
6、
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。