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)

运行结果:

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐