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')
字符串类型的对象: 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')
bytearray(b'yxjc123')
bytearray(b'Yxjc123')