Convertir binario a string usando Python

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *