python 2.7 equivalent of built-in method int.from_bytes

一曲冷凌霜 提交于 2019-11-27 23:44:29

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.

struct.unpack(">i","f483")[0]

maybe?

> means big-endian and i means signed 32 bit int

see also: https://docs.python.org/2/library/struct.html

Use the struct module to unpack your bytes into integers.

import struct
>>> struct.unpack("<L", "y\xcc\xa6\xbb")[0]
3148270713L
> import binascii

> barray = bytearray([0xAB, 0xCD, 0xEF])
> n = int(binascii.hexlify(barray), 16)
> print("0x%02X" % n)

0xABCDEF
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!