python内置函数bytes返回一个新的bytes类型的对象,bytes类型对象是不可变序列,包含范围为 0 <= x < 256 的整数。bytes可以看做是bytearray的不可变版本,它同样支持索引和切片操作 bytes语法 class bytes([source[, encoding[, errors]]])
语法结构:
class bytes([source[, encoding[, errors]]])
参数解释:
- 可选形参source可以传入字符串,int,iterable 可迭代对象, 遵循 缓冲区接口 的对象, 不同的类型将有不同的效果
- string ,如果source是字符串,则必须指定encoding参数,bytearray() 会使用 str.encode() 方法来将 string 转变成 bytes
- int ,如果source是int,会初始化大小为该数字的数组,并使用 null 字节填充
- 如果是一个遵循 缓冲区接口 的对象,该对象的只读缓冲区将被用来初始化字节数组
- iterable 可迭代对象, 要求元素的范围必须是 0 <= x < 256 的整数,它会被用作数组的初始内容
- 如果没有传入source参数,则返回一个长度为0的bytes数组
示例代码1:
print(bytes())
print(bytes("I love python", encoding='utf-8'))
print(bytes(6))
print(bytes([11, 22, 33]))
运行结果:
示例代码2:
s = 'I love python!'
print(s)
a = s.encode(encoding='utf-8')
print(a)
b = bytes(s, encoding='utf-8')
print(b)
c = a.decode('utf-8')
print(c)
d = b.decode('utf-8')
print(d)
运行结果:
示例代码3:
int_6 = bytes([6])
print(int_6)
bytes_to_int = int.from_bytes(int_6, 'little')
# bytes_to_int = int.from_bytes(int_6, 'big')
print(bytes_to_int)
int_66 = bytes([66])
print(int_66)
bytes_to_int = int.from_bytes(int_66, 'little')
# bytes_to_int = int.from_bytes(int_66, 'big')
print(bytes_to_int)
运行结果:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/142762.html