Search code examples
pythonpython-2.7compatibility

python 2.7 equivalent of built-in method int.from_bytes


I'm trying to make my project python2.7 and 3 compatible and python 3 has the built in method int.from_bytes. Does the equivalent exist in python 2.7 or rather what would be the best way to make this code 2.7 and 3 compatible?

>>> int.from_bytes(b"f483", byteorder="big")
1714698291

Solution

  • You can treat it as an encoding (Python 2 specific):

    >>> int('f483'.encode('hex'), 16)
    1714698291
    

    Or in Python 2 and Python 3:

    >>> int(codecs.encode(b'f483', 'hex'), 16)
    1714698291
    

    The advantage is the string is not limited to a specific size assumption. The disadvantage is it is unsigned.