![]() |
converting an int to bytes - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: General (https://python-forum.io/forum-1.html) +--- Forum: News and Discussions (https://python-forum.io/forum-31.html) +--- Thread: converting an int to bytes (/thread-40183.html) |
converting an int to bytes - Skaperen - Jun-15-2023 i can convert an int to bytes by first converting to hexadecimal characters (and maybe prefixing a '0' to make an even number of digits). is there any more direct way to convert an int to the binary equivalent sequence of bytes without doing the hexadecimal conversion and/or adjusting the number of hexadecimal digits to a multiple of two. for those of you that like to have code you can squish in your fingers... bytes_to_int.py: t = bytes,bytearray def bytes_to_int(bytes=None): """Convert bytes or bytearray to int.""" if bytes is None: return None if isinstance(bytes,t): return int.from_bytes(bytes) raise TypeError('arg 1 type must be bytes or bytearray')int_to_bytes.py: t = int def int_to_bytes(int=None): """Convert int to bytes.""" if int is None: return None if isinstance(int,t): h=hex(int)[2:] if len(h)%2: h='0'+h return bytes.fromhex(h) raise TypeError('arg 1 type must be int')the above code is not tested, yet. i may test it, some day. RE: converting an int to bytes - rob101 - Jun-15-2023 You could could first convert the integer to a list of 'bits', then format some output of that list, maybe in groups of four for the 'bytes', or maybe as a simple stream of 'bits' dec = 101 bits = [bit for bit in str(bin(dec))[2:]] print(''.join(bit for bit in bits)) Or maybe there's a point here that I'm missing.
RE: converting an int to bytes - Gribouillis - Jun-15-2023 Isn't int.to_bytes() the contrary of int.from_bytes() ?
RE: converting an int to bytes - Skaperen - Jun-15-2023 oooh, i completely missed that one. must have not done the "_" version of the attribute name when i searched. RE: converting an int to bytes - Skaperen - May-06-2024 can you message to me what that link was? i can't remember it from so long ago. i want to figure out if something got 0wn3d. |