python 内置函数

python bytearray()函数用于将对象转化成字节数组(bytearray),字节数组中的元素可以修改,且每个元素的值得范围是[0,256)。它是python的内置函数。

语法

语法如下:
bytearray([source[, encoding[, errors]]])

参数

  • source: 可选,指定要转为bytearray类型的对象,可以是字符串,列表,元组等。
  • ending:可选,编码格式
  • errors:可选,转换失败的错误信息。

返回值

返回字节数组(bytearray)类型的对象。

程序示例

介绍一些例子了解该函数的使用方法 

例1

各类型转换成bytearray

#!/usr/bin/python
# coding=utf-8
print('空的对象:', bytearray())
print('字符串类型的对象:', bytearray('易学教程','utf-8'))
print('字符串类型的对象:', bytearray('易学教程','gbk')) # gbk编码
print('list类型的对象:', bytearray([1,2,3,4])) # list类型
print('元组类型的对象:', bytearray((1,2,3,4))) # 元组类型 

程序运行结果:

空的对象: bytearray(b'')
字符串类型的对象: bytearray(b'\xe6\x98\x93\xe5\xad\xa6\xe6\x95\x99\xe7\xa8\x8b')
字符串类型的对象: bytearray(b'\xd2\xd7\xd1\xa7\xbd\xcc\xb3\xcc')
list类型的对象: bytearray(b'\x01\x02\x03\x04')
元组类型的对象: bytearray(b'\x01\x02\x03\x04')

从结果中可以看到

  • 元组和list类型的有相同元素的bytearray结果是一样的。
  • 相同字符串,不同编码的bytearray结果不一样。

例2

修改字节数组内的元素。

#!/usr/bin/python
# coding=utf-8
# 修改字节数组元素内元素的例子
ret = bytearray("yxjc123" ,encoding ='utf-8')
print(ret[0])  #121 y的ascii值是121
print(ret)  #bytearray(b'alex')
ret[0] = 89  #将y修改为大写的Y 
print(str(ret))  #bytearray(b'Yxjc123')

程序运行结果:

121
bytearray(b'yxjc123')
bytearray(b'Yxjc123')