跳到主要内容

Python bytes() 函数

bytes() 方法返回用给定大小和数据初始化的不可变字节对象。

示例

message = 'Python 是有趣的'

# 将字符串转换为字节
byte_message = bytes(message, 'utf-8')
print(byte_message)

# 输出:b'Python 是有趣的'

bytes() 语法

bytes() 方法的语法是:

bytes() 方法返回一个字节对象,它是一个不可修改(不能被修改)的整数序列,范围在 0 <=x < 256

如果你想使用可修改的版本,请使用 bytearray() 方法。

bytes() 参数

bytes() 接受三个可选参数:

  • source (可选) - 初始化字节数组的源。
  • encoding (可选) - 如果源是字符串,字符串的编码。
  • errors (可选) - 如果源是字符串,当编码转换失败时采取的行动(更多阅读:字符串编码

source 参数可用于以下方式初始化字节数组:

类型描述
字符串使用 str.encode() 将字符串转换为字节。必须同时提供 encoding 和可选的 errors
整数创建一个提供大小的数组,所有元素初始化为 null
对象对象的只读缓冲区将用于初始化字节数组
可迭代对象创建一个等于可迭代对象计数的数组,并初始化为可迭代对象的元素。必须是 0 <= x < 256 之间的整数可迭代对象
无源(参数)创建大小为 0 的数组

bytes() 返回值

bytes() 方法返回给定大小和初始化值的字节对象。

示例 1:将字符串转换为字节

string = "Python 是有趣的。"

# 字符串使用 'utf-8' 编码
arr = bytes(string, 'utf-8')
print(arr)

输出

b'Python 是有趣的。'

示例 2:创建给定整数大小的字节

size = 5

arr = bytes(size)
print(arr)

输出

b'\x00\x00\x00\x00\x00'

示例 3:将可迭代列表转换为字节

rList = [1, 2, 3, 4, 5]

arr = bytes(rList)
print(arr)

输出

b'\x01\x02\x03\x04\x05'