python 2.7 相当于内置方法 int.from_bytes
python 2.7 equivalent of built-in method int.from_bytes
我正在尝试使我的项目 python2.7 和 3 兼容,并且 python 3 具有内置方法 int.from_bytes。 python 2.7 中是否存在等效项,或者更确切地说,使此代码与 2.7 和 3 兼容的最佳方法是什么?
>>> int.from_bytes(b"f483", byteorder="big")
1714698291
struct.unpack(">i","f483")[0]
也许吧?
>
表示大端,i
表示有符号 32 位 int
使用 struct
模块将字节解压缩为整数。
import struct
>>> struct.unpack("<L", "y\xcc\xa6\xbb")[0]
3148270713L
你可以把它当作一个编码(Python 2具体):
>>> int('f483'.encode('hex'), 16)
1714698291
或在Python 2和Python 3中:
>>> int(codecs.encode(b'f483', 'hex'), 16)
1714698291
优点是字符串不受特定大小假设的限制。缺点是它是无符号的。
> import binascii
> barray = bytearray([0xAB, 0xCD, 0xEF])
> n = int(binascii.hexlify(barray), 16)
> print("0x%02X" % n)
0xABCDEF
我正在尝试使我的项目 python2.7 和 3 兼容,并且 python 3 具有内置方法 int.from_bytes。 python 2.7 中是否存在等效项,或者更确切地说,使此代码与 2.7 和 3 兼容的最佳方法是什么?
>>> int.from_bytes(b"f483", byteorder="big")
1714698291
struct.unpack(">i","f483")[0]
也许吧?
>
表示大端,i
表示有符号 32 位 int
使用 struct
模块将字节解压缩为整数。
import struct
>>> struct.unpack("<L", "y\xcc\xa6\xbb")[0]
3148270713L
你可以把它当作一个编码(Python 2具体):
>>> int('f483'.encode('hex'), 16)
1714698291
或在Python 2和Python 3中:
>>> int(codecs.encode(b'f483', 'hex'), 16)
1714698291
优点是字符串不受特定大小假设的限制。缺点是它是无符号的。
> import binascii
> barray = bytearray([0xAB, 0xCD, 0xEF])
> n = int(binascii.hexlify(barray), 16)
> print("0x%02X" % n)
0xABCDEF