Is there a builtin function that converts ASCII to binary?
For example. converts 'P' to 01010000.
I'm using Python 2.6.6
Method #1 : Using join() + ord() + format() The combination of above functions can be used to perform this particular task. The ord function converts the character to it's ASCII equivalent, format converts this to binary number and join is used to join each converted character to form a string.
In Python, you can simply use the bin() function to convert from a decimal value to its corresponding binary value. And similarly, the int() function to convert a binary to its decimal value. The int() function takes as second argument the base of the number to be converted, which is 2 in case of binary numbers.
chr () is a built-in function in Python that is used to convert the ASCII code into its corresponding character. The parameter passed in the function is a numeric, integer type value. The function returns a character for which the parameter is the ASCII code.
How about two together?
bin(ord('P'))
# 0b1010000
Do you want to convert bytes or characters? There's a difference.
If you want bytes, then you can use
# Python 2.x
' '.join(bin(ord(x))[2:].zfill(8) for x in u'שלום, עולם!'.encode('UTF-8'))
# Python 3.x
' '.join(bin(x)[2:].zfill(8) for x in 'שלום, עולם!'.encode('UTF-8'))
The bin
function converts an integer to binary. The [2:]
strips the leading 0b
. The .zfill(8)
pads each byte to 8 bits.
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