Python中的bytearray()和bytes()函数

Python中的bytearray()和bytes()函数

概述

bytearray() 函数返回新字节数组,数组里的元素可变,且每个元素的值在0至255之间。bytes()函数是Python 3中增加的内置函数,语法、参数与bytearray() 一样,只是返回的新字节数组不可变。它是 bytearray() 的不可变版本。

语法

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

参数

  • 如果 source 为整数,则返回一个长度为 source 的初始化数组;
  • 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;
  • 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;
  • 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray;
  • 如果没有输入任何参数,默认就是初始化数组为0个元素。

示例

>>> bytearray()
bytearray(b'')
>>> bytearray(1)
bytearray(b'\x00')
>>> bytearray('test','utf-8')
bytearray(b'test')
>>> a=bytearray('hello','ascii')
>>> a
bytearray(b'hello')
>>> type(a)
<class 'bytearray'>
>>> a=bytes('hello','ascii')
>>> a
b'hello'
>>> type(a)
<class 'bytes'>
>>> bytearray([1,2,3,4])
bytearray(b'\x01\x02\x03\x04')
>>> bytearray([1,256,300,400])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: byte must be in range(0, 256)

猜你喜欢

转载自blog.csdn.net/fegang2002/article/details/82947777