【发布时间】:2009-09-20 08:12:48
【问题描述】:
我正在尝试将 2.5 的程序转换为 3。
在python 3中有没有办法将一个字节串,比如b'\x01\x02'改成python 2.5风格的字符串,比如'\x01\x02',这样字符串和逐字节比较的工作方式类似于 2.5?我正在从二进制文件中读取字符串。
我有一个 2.5 的程序,它从文件中读取字节,然后将每个字节或字节组合与指定的常量进行比较或处理。要在 3 下运行程序,我想避免将所有常量更改为字节和字节字符串('\x01' 到 b'\x01'),然后处理 3 中的问题,例如:
a = b'\x01'
b = b'\x02'
结果
(a+b)[0] != a
即使类似的操作在 2.5 中工作。我必须做 (a+b)[0] == ord(a),而 a+b == b'\x01\x02' 工作正常。 (顺便问一下,(a+b)[0] 等于 a 怎么办?)
拆包结构也是一个问题。
我错过了一些简单的东西吗?
【问题讨论】:
标签: python python-3.x