I have a binary string representation of a byte, such as
01010101
How can I convert it to a real binary value and write it to a binary file?
Python 2 uses strings to handle binary data, so you would use the chr () function to convert the integer to a one-byte string. Python 3 handles binary and text differently, so you need to use the bytes type instead. This doesn't have a direct equivalent to the chr () function, but the bytes constructor can take a list of byte values.
3. Map () to convert string to binary in Python In this example, we are using the bytearray that returns an array of the byte in our example its returns an array of bytes for a given string “str”, using map () along with bin () to get the binary of given string. 4. Math Module,ord (),bin () to convert string to binary
Bytestrings in Python 3 are officially called bytes, an immutable sequence of integers in the range 0 <= x < 256. Another bytes -like object added in 2.6 is the bytearray - similar to bytes, but mutable. Let's take a look at how we can convert bytes to a String, using the built-in decode () method for the bytes class:
A byte array is a set of bytes that may store a list of binary data. Instead of iterating over the string explicitly, we can iterate over a byte sequence.
Use the int
function with a base
of 2
to read a binary value as an integer.
n = int('01010101', 2)
Python 2 uses strings to handle binary data, so you would use the chr()
function to convert the integer to a one-byte string.
data = chr(n)
Python 3 handles binary and text differently, so you need to use the bytes
type instead. This doesn't have a direct equivalent to the chr()
function, but the bytes
constructor can take a list of byte values. We put n
in a one element array and convert that to a bytes
object.
data = bytes([n])
Once you have your binary string, you can open a file in binary mode and write the data to it like this:
with open('out.bin', 'wb') as f:
f.write(data)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With