La conversión de datos siempre ha sido una utilidad muy utilizada y una de ellas puede ser la conversión de un equivalente binario a su string.
Vamos a discutir ciertas formas en que esto se puede hacer.
Método #1:
El enfoque ingenuo es convertir los datos binarios dados en decimal tomando la suma de los dígitos binarios (dn) por su potencia de 2*(2^n). Los datos binarios se dividen en conjuntos de 7 bits porque este conjunto de binarios como entrada devuelve el valor decimal correspondiente, que es el código ASCII del carácter de una string. Este código ASCII luego se convierte en una string usando la función chr().
Nota: Aquí cortamos los datos binarios en el conjunto de 7 porque la tabla ASCII original está codificada en 7 bits, por lo tanto, tiene 128 caracteres.
Python3
# Python3 code to demonstrate working of # Converting binary to string # Using BinarytoDecimal(binary)+chr() # Defining BinarytoDecimal() function def BinaryToDecimal(binary): binary1 = binary decimal, i, n = 0, 0, 0 while(binary != 0): dec = binary % 10 decimal = decimal + dec * pow(2, i) binary = binary//10 i += 1 return (decimal) # Driver's code # initializing binary data bin_data ='10001111100101110010111010111110011' # print binary data print("The binary value is:", bin_data) # initializing a empty string for # storing the string data str_data =' ' # slicing the input and converting it # in decimal and then converting it in string for i in range(0, len(bin_data), 7): # slicing the bin_data from index range [0, 6] # and storing it as integer in temp_data temp_data = int(bin_data[i:i + 7]) # passing temp_data in BinarytoDecimal() function # to get decimal value of corresponding temp_data decimal_data = BinaryToDecimal(temp_data) # Decoding the decimal value returned by # BinarytoDecimal() function, using chr() # function which return the string corresponding # character for given ASCII value, and store it # in str_data str_data = str_data + chr(decimal_data) # printing the result print("The Binary value after string conversion is:", str_data)
Producción:
The binary value is: 10001111100101110010111010111110011 The Binary value after string conversion is: Geeks
Método #2: Uso de la función int()
Cada vez que se proporciona una función int() con dos argumentos, le dice a la función int() que el segundo argumento es la base de la string de entrada. Si la string de entrada es mayor que 10, Python asume que la siguiente secuencia de dígitos proviene de ABCD… Por lo tanto, este concepto se puede usar para convertir una secuencia binaria en una string. A continuación se muestra la implementación.
Python3
# Python3 code to demonstrate working of # Converting binary to string # Using BinarytoDecimal(binary)+chr() # Defining BinarytoDecimal() function def BinaryToDecimal(binary): # Using int function to convert to # string string = int(binary, 2) return string # Driver's code # initializing binary data bin_data ='10001111100101110010111010111110011' # print binary data print("The binary value is:", bin_data) # initializing a empty string for # storing the string data str_data =' ' # slicing the input and converting it # in decimal and then converting it in string for i in range(0, len(bin_data), 7): # slicing the bin_data from index range [0, 6] # and storing it in temp_data temp_data = bin_data[i:i + 7] # passing temp_data in BinarytoDecimal() function # to get decimal value of corresponding temp_data decimal_data = BinaryToDecimal(temp_data) # Decoding the decimal value returned by # BinarytoDecimal() function, using chr() # function which return the string corresponding # character for given ASCII value, and store it # in str_data str_data = str_data + chr(decimal_data) # printing the result print("The Binary value after string conversion is:", str_data)
Producción:
The binary value is: 10001111100101110010111010111110011 The Binary value after string conversion is: Geeks
Publicación traducida automáticamente
Artículo escrito por __Shubham_Singh__ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA