我正在编写 python 代码,我想支持 python 2 和 3。我正在处理的最突出的数据类型之一是不可变的字节序列,所以我想找到一种优雅的方法来处理 python 2 之间的差异bytes'(别名为'str')和python 3'bytes'(具体来说,它们切片和迭代的不同方式对我来说非常烦人)。
起初我尝试使用'bytearray',因为它似乎在 python 2 和 3 中具有相同的行为,但它是可变的这一事实是有问题的,因为我需要我的对象是可散列的。
如果无法访问 python 2 中的 python3 'bytes' 行为,我正在考虑尝试的当前解决方案是:转换所有序列(无论它们是 python 2 'bytes'/'str' 还是 python 3 'bytes ') 到整数元组。
假设我不能在 python 2 中使用 python 3 'bytes' 类型,还有什么我应该考虑的解决方案吗?