Programación Web y Scripting > Python

 leer un fichero bit a bit

<< < (2/2)

RadicalEd:
Lo que quieres pegarle es a la esteganografía, revisa este post, está muy bueno y sencillo de entender.
Esteganografía

DRiMeR:
Sí, está bien ese script. Pero lo que hace es abrir dos imágenes para tocarlas e introducir una en la otra. A mí lo que me interesa es meter otro tipo de información binaria, que ni si quiera tenga por qué ser texto. He ahí la necesidad de operar a nivel de bits.

DRiMeR:
Hola otra vez. Por fin lo he conseguido! Ya he conseguido pasar cualquier cosa a binario. Tal y como lo estaba haciendo, me servía sólo para caracteres, porque el string.atoi admite sólo bases desde 2 hasta 36, así que aunque me hubiera conformado con leer archivo que contuvieran texto, los símbolos (?, =, !, etc..) me hubieran fastidiado. El código me ha quedado así:


--- Código: Text ---def aBinario(n):    if(n<0):        raise ValueError, "Entero negativo no valido"        cad=[]    b=struct.unpack('B', n)    b=b[0]    for i in range(8):        cad.append(b & 1)        b = b >> 1        return cad 
El truco está en el unpack, y en que me lo convierte de forma que en vez de devolvermelo como una lista normal, he tenido que coger el primer elemento, que es donde pone el elemento convertido en forma de lista.


Muchas gracias por vuestra ayuda, como veis en el código, me ha ayudado bastante tener el código de NRM como guía (no tenía ni idea de que existiera el >> para mover los bits). Cuando termine la aplicación la colgaré por aquí :)


Un saludo.

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa