Python学习——bytes和bytearray

Python3引入两个新类型 :
bytes 不可变字节序列
bytearray 字节数组 可变

字符串与bytes

字符串是字符组成的有序序列,字符可以使用编码来理解 
bytes是字节组成的有序的**不可变**序列 
bytearray是字节组成的有序的**可变**序列

不可变可用list转成列表转成可变

编码与解码
字符串按照不同的字符集编码encode返回字节序列bytes
encode(encoding=‘utf-8’, errors=‘strict’) -> bytes
字节序列按照不同的字符集解码decode返回字符串
bytes.decode(encoding=“utf-8”, errors=“strict”) -> str
bytearray.decode(encoding=“utf-8”, errors=“strict”) -> str

ASCII(American Standard Code for Information Interchange,美国信息交换 标准代码)是基于拉丁字母 的一套单字节编码系统

bytes定义
定义

bytes() 空bytes
bytes(int) 指定字节的bytes,被0填充
bytes(iterable_of_ints) -> bytes [0,255]的int组成的可迭代对象
bytes(string, encoding[, errors]) -> bytes 等价于string.encode()
bytes(bytes_or_buffer) -> immutable copy of bytes_or_buffer 从一个字节序列或者buffer复制 出 一个新的不可变的bytes对象
在这里插入图片描述
使用b前缀定义
只允许基本ASCII使用字符形式b’abc9’
使用16进制表示b"\x41\x61"

bytes操作
和str类型类似,都是不可变类型,所以方法很多都一样。只不过bytes的方法,输入是bytes,输出是 bytes
b’abcdef’.replace(b’f’,b’k’)
b’abc’.find(b’b’)
类方法 bytes.fromhex(string)
string必须是2个字符的16进制的形式,‘6162 6a 6b’,空格将被忽略
bytes.fromhex(‘6162 09 6a 6b00’)
hex()
返回16进制表示的字符串 ‘abc’.encode().hex()
索引
b’abcdef’[2] 返回该字节对应的数,int类型
在这里插入图片描述
定义
bytearray() 空bytearray
bytearray(int) 指定字节的bytearray,被0填充
bytearray(iterable_of_ints) -> bytearray [0,255]的int组成的可迭代对象
bytearray(string, encoding[, errors]) -> bytearray 近似string.encode(),不过返回可变对象 bytearray(bytes_or_buffer) 从一个字节序列或者buffer复制出一个新的可变的bytearray对象

注意,b前缀定义的类型是bytes类型

bytearray操作 和bytes类型的方法相同

bytearray(b’abcdef’).replace(b’f’,b’k’) bytearray(b’abc’).find(b’b’)

类方法

bytearray.fromhex(string) p string必须是2个字符的16进制的形式,‘6162 6a 6b’,空格将被忽略 bytearray.fromhex(‘6162 09 6a 6b00’)

hex()
返回16进制表示的字符串
bytearray(‘abc’.encode()).hex()

索引
bytearray(b’abcdef’)[2] 返回该字节对应的数,int类型
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值