cerr cerr - 7 months ago 23
Python Question

Get size of integer in Python

How can I find out the number of Bytes a certain number takes up to store e.g. for \x00 - \xFF I'm looking to get 1 (Byte), \x100 - \xffff would give me 2 (Bytes) and so on... any clue?

Thank you
Ron

Answer

You can use simple math:

>>> from math import log
>>> def bytes_needed(n):
...     if n == 0:
...         return 1
...     return int(log(n, 256)) + 1
...
>>> bytes_needed(0x01)
1
>>> bytes_needed(0x100)
2
>>> bytes_needed(0x10000)
3