Python bytes() 函数



Python bytes() 函数返回一个新的 “bytes” 对象,它是一个不可变的整数序列,范围在 0 <= x < 256 之间。当调用此函数时,不带任何参数,它会创建一个大小为零的 bytes 对象。它是内置函数之一,不需要任何模块。

bytes 对象可以通过以下方式初始化 -

  • String − 我们可以通过使用 str.encode() 对字符串进行编码,从字符串创建 bytes 对象。
  • Integer - 如果源是整数,则将创建一个具有指定大小的 null 值的数组
  • Iterable − 创建一个大小等于 iterable 长度的数组。
  • No source − 如果未指定源,则创建大小为 0 的数组。

语法

Python bytes() 函数的语法如下 -


bytes(source)
or,
bytes(source, encoding)
or,
bytes(source, encoding, errors)

参数

Python bytes() 函数接受三个可选参数 -

  • source − 它表示一个对象,例如列表、字符串或元组。
  • encoding − 它表示传递的字符串的编码。
  • errors - 它指定编码失败时所需的操作。

返回值

Python bytes() 函数返回指定大小的新 bytes 对象。

bytes() 函数示例

练习以下示例来理解 Python 中 bytes() 函数的用法:

示例:使用 bytes() 函数

以下示例演示如何使用 Python bytes() 函数。这里我们创建了一个空的 bytes 对象。


empByte_obj = bytes()
print("It is an example of empty byte object:", empByte_obj)

当我们运行上述程序时,它会产生以下结果——

It is an example of empty byte object: b''

示例:使用 bytes() 将字符串转换为字节对象

在下面的代码中,我们将给定的字符串转换为 bytes 对象。对于此操作,我们使用 bytes() 函数,将 string 和 encoding 作为参数值传递。


strObj = "qikepu Point bytes object"
str_bytes_obj = bytes(strObj, 'utf-8')
print("Creating bytes object from string:")
print(str_bytes_obj)

以下是上述代码的输出 -

Creating bytes object from string:
b'qikepu Point bytes object'

示例:使用 bytes() 创建 bytes 对象

下面的代码演示了如何创建指定大小的 bytes 对象。我们将 size 和 value 作为参数传递给 bytes() 函数。


size = 5
value = 1
new_bytesObj = bytes([value]*size)
print("Bytes object of the given size:")
print(new_bytesObj)

上述代码的输出如下 -

Bytes object of the given size:
b'\x01\x01\x01\x01\x01'

示例:使用 bytes() 将 bytesarray 转换为 bytes 对象

以下代码说明了如何使用 bytes() 函数将 bytearray 转换为 bytes 对象。为此,我们只需将 bytearray 作为参数值传递给 bytes() 函数。


byteArray = bytearray([84, 85, 84, 79, 82, 73, 65, 76, 83])
bytesObj = bytes(byteArray)
print("The bytes object from byte array:")
print(bytesObj)

以下是上述代码的输出 -

The bytes object from byte array:
b'TUTORIALS'