Tengo un binario de representación de cadena de caracteres de un byte, tales como

01010101

¿Cómo puedo convertir a un real valor binario y escribir en un archivo binario?

OriginalEl autor xiaohan2012 | 2011-08-27

1 Comentario

  1. 9

    Uso el int función con un base de 2 para leer un valor binario como un entero.

    n = int('01010101', 2)

    Python 2 utiliza cadenas para manejar datos binarios, por lo que se podría utilizar el chr() función para convertir el entero en una cadena de bytes.

    data = chr(n)

    Python 3 identificadores binarios y de texto de manera diferente, por lo que necesita utilizar el bytes tipo de lugar. Esto no tiene un equivalente directo a la chr() función, pero la bytes constructor puede tomar una lista de valores de byte. Ponemos n en un elemento de la matriz y de convertir a un bytes objeto.

    data = bytes([n])

    Una vez que usted tiene su cadena binaria, de que pueda abrir un archivo en modo binario y escribir los datos de esta manera:

    with open('out.bin', 'wb') as f:
        f.write(data)
    Muy claro y completo. Gracias
    Para python 2.6+, usted es probablemente mejor usar bytearray([n]). doc.

    OriginalEl autor user

Dejar respuesta

Please enter your comment!
Please enter your name here