Python bytearray()函数

bytearray是 Python 中的一个内置类,用于表示二进制数据。与 bytes类似,bytearray也是不可变的序列,但是它可以通过索引来修改其中的元素,因此可以用于一些需要修改二进制数据的场合。

bytearray 类的语法如下:

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

其中:

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

bytearray 常用操作

  • len(bytearray_object):返回 bytearray_object 中的字节数。
  • bytearray_object[index] = value:修改 bytearray_object 中索引为 index 的字节为 value。
  • bytearray_object.append(value):在 bytearray_object 的末尾添加一个字节 value。
  • bytearray_object.extend(iterable):将可迭代对象 iterable 中的所有字节追加到 bytearray_object 的末尾。
  • bytearray_object.decode(encoding='UTF-8', errors='strict'):将 bytearray_object 解码为字符串。
  • bytearray_object.hex():返回 bytearray_object 的十六进制表示。

示例代码

# 创建一个空的 bytearray
b = bytearray()

# 通过追加字节来构建 bytearray
b.append(97) # 'a'
b.append(98) # 'b'
b.append(99) # 'c'

# 输出 bytearray
print(b)          # bytearray(b'abc')
print(len(b))     # 3

# 修改 bytearray
b[1] = 100        # 将 b[1] 修改为 100
print(b)          # bytearray(b'adc')

# 使用迭代器扩展 bytearray
b.extend([101, 102, 103])
print(b)          # bytearray(b'adcefg')

# 将 bytearray 转换为字符串
s = b.decode('ascii')
print(s)          # 'adcefg'

# 将字符串转换为 bytearray
b = bytearray('hello', 'ascii')
print(b.hex())    # '68656c6c6f'

注意,bytearraybytes非常类似,但是由于bytearray可以修改元素,因此它的性能比bytes要略低一些。在不需要修改二进制数据的情况下,建议使用bytes类型。

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

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

分类: 计算机技术
推荐阅读:
Python实现快速排序(quick sort) 快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
Python getattr()函数 getattr() 函数是 Python 内置函数之一,用于获取一个对象的指定属性值。
Python使用莱布尼茨公式计算圆周率 可以通过莱布尼茨级数的求和来逼近圆周率;公式为:π/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - ......(无限项)
修改Visual Studio Code的主题颜色 首先,打开Visual Studio Code ,右下角有一个齿轮模样的图标,点击图标打开菜单,选择 Color Theme,你将看到如下画面:
使用pip安装Python PIL库的正确方法 正确使用pip工具安装Python中PIL库的方法如下:
Golang中的结构体组合 在Go语言里,没有面向对象这个概念,自然就没有继承,但它支持结构体组合;你可以通过在结构体内嵌套结构体实现组合;