Python 字节数组、正则表达式与对象序列化全解析
字节数组操作
在 Python 里,操作字节数组时要留意,若想操控字节数组中的单个元素,需传入一个 0 到 255 之间(包含 0 和 255)的整数作为值,此整数代表特定的字节模式。若传入字符或字节对象,就会引发异常。
可以借助 ord
函数把单字节字符转换为整数,该函数会返回单个字符的整数表示。示例如下:
b = bytearray(b'abcdef')
b[3] = ord(b'g')
b[4] = 68
print(b)
输出结果为:
bytearray(b'abcgDf')
构建数组后,我们将索引为 3(因索引从 0 开始,所以是第四个字符)的字符替换为字节 103,这个整数由 ord
函数返回,对应 ASCII 字符中的小写 g
。同时,我们把下一个字符替换为字节 68,它对应 ASCII 字符中的大写 D
。
字节数组类型具备一些方法,能让它既像列表(例如可向其追加整数字节),又像字节对象。我们可使用 count
和 find
等方法,其用法与在字节或字符串对象上的用法相同。不同之处在于,字节数组是可变类型,这在从特定输入源构建复杂字节序列时很有用。
正则表达式基础
运用面向对象原则解析字符串以匹配任意模