12.8 binascii -- Conversión entre binario y ASCII

El módulo binascii contiene una serie de métodos para convertir entre binario y ASCII-representaciones binarias codificadas. Normalmente, no se usarán directamente estas funciones sino que se usaran los módulos de cobertura como uu o binhex, Este módulo únicamente existe debido a que la manipulación bit a bit de grandes cantidades de datos es lenta en Python.

El módulo binascii define las siguientes funciones:

a2b_uu (cadena)
Descodifica una línea de datos uu-codificados y devuelve los datos binarios. Las lineas son generalmente de 45 bytes (binarios), excepto para la última linea. Las lineas de datos pueden estar seguidas por espacios en blanco.

b2a_uu (datos)
Convierte datos binarios a una linea de caracteres ASCII, devolviendo la linea convertida incluyendo el carácter de nueva linea. La longitud de datos debe ser al menos de 45.

a2b_base64 (cadena)
Convierte un bloque de datos en base64 de nuevo a binario y devuelve los datos binarios Se puede pasar mas de una linea de una vez.

b2a_base64 (datos)
Convierte datos binarios a una linea de caracteres ASCII en código base64. El valor devuelto es la linea convertido, incluyendo un carácter de nueva línea. La longitud de datos deberá ser como máximo 57 para cumplir el estándar base64.

a2b_hqx (string)
Convierte datos ASCII en formato binhex4 a binario, si hacer la descompresión RLE.La cadena deberá contener un número entero de bytes binarios o bien (en el caso de la última porción de datos binhex4) tener los bits restantes a cero.

rledecode_hqx (datos)
Efectúa la descompresión RLE de los datos, según el estándar binhex4. El algoritmo usa 0x90 después de cada byte como un indicador de repetición, seguido por una contador. Un contador 0 especifica un valor de byte para 0x90. La rutina devuelve los datos descomprimidos, a menos que los datos de entrada terminen en un indicador de repetición huérfano, en cuyo caso se lanzará la excepción Incomplete.

rlecode_hqx (datos)
Efectúa la compresión RLE según binhex4 de datos y devuelve el resultado.

b2a_hqx (datos)
Efectúa la conversión de binarios tipo hexbin4 a ASCII y devuelve la cadena resultante. El argumento deberá estar codificado en RLE, y deberá tener una longitud divisible entre 3 (excepto, posiblemente, el último fragmento).

crc_hqx (datos, crc)
Calcula el valor binhex4 crc de datos, empezando con un valor inicial crc y devolviendo el resultado.

crc32 (datos[, crc])
Calcula el CRC-32, valor de comprobación de 32 bit de los datos, empezando con un crc inicial crc. Esto es consistente con el crc del archivo ZIP. Úsalo de la siguiente forma:
    print binascii.crc32("hola mundo")
    # O, en dos fases:
    crc = binascii.crc32("hola")
    crc = binascii.crc32(" mundo", crc)
    print crc

b2a_hex (datos)
hexlify (datos)
Devuelve la representación hexadecimal de los datos en binario. Cada byte de datos se convierte en la correspondiente representación hexadecimal de 2 dígitos. La cadena resultante es dos veces mas larga que datos.

a2b_hex (hexstr)
unhexlify (hexstr)
Devuelve los datos binarios representados por la cadena hexadecimal hexstr. Esta función es la inversa de b2a_hex(). hexstr debe contener un número par de caracteres hexadecimales (que pueden estar en mayúsculas o en minúsculas), de cualquier otra forma se lanzaría la excepciónTypeError.

Error
Excepción lanzada en los errores. Generalmente se trata de errores de programación

Incompletos
Excepción lanzada cuando hay datos incompletos. Estos, generalmente, no son errores de programación, sino que pueden ser resueltos leyendo algunos datos más e intentándolo de nuevo.

Más informació en:

Module base64:
Soporte para la codificación en base64 utilizada en los mensajes MIME de correo electrónico.

Module binhex:
Soporte para el formato binhex utilizado en Macintosh.

Module uu:
Soporte para la codificación UU utilizada en Unix.

Ver Sobre este documento... para obtener información sobre sugerencias.