~~关注极迭代,深入技术知识 ↗↗↗
Python中的bytearray()方法,是python的内建函数,主要是用于字节数组的相关创建、设置和转换应用的。大家也常常用它来进行文本转为字节数组,然后再进行进一步存储或转换、压缩等操作。
用法一:创建一个指定大小的字节数组大家可以传递一个大小数值,作为函数的参数,然后bytearray()将返回一个指定大小的字节数组。
该字节数组的内置元素都是0,每个元素都必须在十进制数0-255之间,换算为十六进制即为 0x00-0xFF。
大家可以用下标的方式,对指定的数组元素进行操作,注意下标是从0开始。
以下是上面程序的返回结果,可以看到,设为255和0xFF是相同的。
用法二:设置可迭代的对象到字节数组大家可以将可迭代的对象,如一个数组作为参数设置给bytearray(),只要其中每个值都在0-255之间,就能顺利的生成出一个字节数组,否则将提示错误,转换失败。
用法三:将字符串转换为字节数组字符串转换字节数组是非常常用的功能,尤其在加密、压缩和传输等场合。
该函数的原型是:
class bytearray([source[, encoding[, errors]]])
在字符串转换为字节时,是必须指定编码格式的;因为同一个字符串用不同的编码格式,字节数组值是不同的,这里需要注意,往往大家转换回来时也需要知道原始编码是什么格式。通常,为了最大化的兼容多种语言编码,可以在一个系统中统一使用utf-8作为约定的默认编码。
在使用上,大家可以看到,显式的加上 encoding= 或者隐式的不加,直接写上编码格式,效果是相同的。通常大家使用简单的写法。
产生的结果如下。
对字符串转换异常的处理如果大家需要处理多种不同来源的文本,那么很可能碰到转换异常的情况,bytearray提供了5种可选的应对方式,可以在errors参数中指定。
errors 参数可用于指定字符串编码不符合时的异常处理方式。
‘strict’编码错误时严格报错,默认方式当碰到异常时,比如在ascii码转换时碰到了中文,strict 方式就会抛出异常的提示。
‘replace’替换无法识别的数据为指定标记问号?或‘ufffd’这种方式就比较友好,并不会因为数据的原因打断程序的执行,如果大家对转换出的结果允许存在不识别的情况,则可以考虑用它。
效果如下:
‘ignore’无法识别的部分直接忽略,只返回能识别部分ignore较少使用,它仅仅返回能够识别的部分,用户无法感知是否存在转换的异常情况。
效果如下:
‘xmlcharrefreplace’替换为适当的xml引用符号xmlcharrefreplace将异常字符转换为可转义的xml引用字符,以便未来再处理或替换。
‘backslashreplace’替换为反斜杠的转义字符backslashreplace可以将异常字符转换为unicode的转义字符,以便未来处理和替换。
以上就是python内置函数bytearray()的用法。
❤❤❤❤❤ 请任性点赞,谢谢关注 — 偶是 极迭代 :)定义max变量,利用for循环遍历数组,将最大值赋给max变量,在for循环结束后删除max即可。
在Python编程中,除了append函数,其他函数都不能添加数组元素。