Python bytes()函数

bytes是 Python 中的一个内置类,用于表示二进制数据。bytes对象是不可变的,即一旦创建,就不能修改其中的元素。由于二进制数据通常是不可变的,因此bytes类型广泛应用于文件、网络通信等场合。

bytes类的语法如下:

bytes([source[, encoding[, errors]]])

其中:

  • source:可以是一个整数、一个包含整数的可迭代对象、一个字符串、一个 bytes 对象或一个可读取对象;
  • encoding:如果 source 是字符串,则需要指定字符编码;
  • errors:指定编码错误的处理方式,缺省值为 'strict';

bytes 常用操作

以下是一些bytes的常用操作:

  • len(bytes_object):返回 bytes_object 中的字节数;
  • bytes_object[index]:返回 bytes_object 中索引为 index 的字节;
  • bytes_object.count(sub[, start[, end]]):返回 bytes_object 中子序列 sub 的出现次数;
  • bytes_object.find(sub[, start[, end]]):查找子序列 sub 在 bytes_object 中出现的位置,如果不存在则返回 -1;
  • bytes_object.hex():返回 bytes_object 的十六进制表示;

示例代码

# 创建一个空的 bytes 对象
b = bytes()

# 创建一个 bytes 对象
b = bytes([97, 98, 99])   # b'abc'
b = bytes('abc', 'ascii') # b'abc'

# 输出 bytes 对象
print(b)          # b'abc'
print(len(b))     # 3

# 访问 bytes 对象的元素
print(b[1])       # 98

# 查找子序列
print(b.find(b'bc'))   # 1
print(b.find(b'def'))  # -1

# 将 bytes 对象转换为十六进制字符串
s = b.hex()
print(s)          # '616263'

# 将十六进制字符串转换为 bytes 对象
b = bytes.fromhex('68656c6c6f')
print(b)          # b'hello'

注意,在 Python 3 中,字符串是使用 Unicode 编码的,因此如果需要处理二进制数据,需要使用bytesbytearray类型。如果需要将二进制数据转换为字符串,可以使用bytes.decode()方法,指定相应的字符编码。例如,b.decode('ascii')将字节串 b 解码为 ASCII 编码的字符串。

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/python-built-in-functions/python-bytes.html

分类: 计算机技术
推荐阅读:
Python memoryview()函数 memoryview() 函数是一个内置函数,它返回一个memoryview对象,该对象可以用于在 Python 中访问二进制数据。
Python slice()函数 在 Python 中,slice() 函数用于创建一个 slice 对象,该对象可以用于对序列进行切片操作。slice() 函数接受三个参数:起始位置、结束位置和步长。这些参数都是可选的。
SQL创建数据库 可使用 CREATE DATABASE 句用于创建一个数据库;
使用Python向Bing Webmaster Tools提交URL 在本文中将使用Python向Bing Webmaster Tools提交URL,提交的URL会被很快进行评估,满足质量标准时,就会出现在bing搜索结果中;
Linux查看实时活动的网络服务 在Linux系统下,你可以使用一条命令即可查看系统当前实时活动的网络服务:
ValueError: complex() arg is a malformed string解决办法 在Python使用complex()函数对字符串进行转换时,字符串在+或-的周围必须不能有空格。例如complex('1+2j')是合法的,但complex('1 + 2j')会触发ValueError异常。