Foros del Web » Programando para Internet » Python »

Ayuda con obtencion de un Binario

Estas en el tema de Ayuda con obtencion de un Binario en el foro de Python en Foros del Web. Hola, soy nuevo en python y estoy intentando desarrollar lo siguiente: .-Un script que abra un archivo y obtenga el binario del archivo (osea los ...
  #1 (permalink)  
Antiguo 12/12/2010, 23:42
 
Fecha de Ingreso: marzo-2009
Mensajes: 25
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta Ayuda con obtencion de un Binario

Hola, soy nuevo en python y estoy intentando desarrollar lo siguiente:

.-Un script que abra un archivo y obtenga el binario del archivo (osea los bytes en hexa los pase a binario)

Mi script es este:

Código Python:
Ver original
  1. #!/usr/bin/python
  2. import binascii
  3.  
  4. f = open("archivo.hex","rb")
  5. lee = f.read()
  6. leehex = lee.encode("hex")
  7. print binascii.a2b_hex(leehex)

hasta leehex todo va bien, si hago
Código Python:
Ver original
  1. print leehex
me devuelve una cadena con los valores en hexadecimal de los bytes del archivo archivo.hex

y se supone que binascii.a2b_hex y tambien binascii.unhexlify apartir de una cadena que contiene valores hexadecimales "ABCDEF0123456789" te retorna su binario

El problema es que ami me retorna el ASCII de esos valores hexadecimales.

Alguien sabe como puedo obtener el binario de un archivo...

Antemano muchas Gracias!!
  #2 (permalink)  
Antiguo 13/12/2010, 11:47
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Ayuda con obtencion de un Binario

Te refieres algo mas o menos así?
Código Python:
Ver original
  1. data = 'MZ\x90\x00\x03\x00\x00\x00\x04\x00'
  2. for i in data:
  3.     print "%6s %s" % (repr(i), bin(ord(i))[2:].zfill(8))

Todos los datos que están en tu computadora ya están en binario. Hexadecimal, octal o decimal o cualquier otra base que uses es una representación de esos datos en binario.
  #3 (permalink)  
Antiguo 13/12/2010, 17:53
 
Fecha de Ingreso: marzo-2009
Mensajes: 25
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Ayuda con obtencion de un Binario

Cita:
Iniciado por razpeitia Ver Mensaje
Te refieres algo mas o menos así?
Código Python:
Ver original
  1. data = 'MZ\x90\x00\x03\x00\x00\x00\x04\x00'
  2. for i in data:
  3.     print "%6s %s" % (repr(i), bin(ord(i))[2:].zfill(8))

Todos los datos que están en tu computadora ya están en binario. Hexadecimal, octal o decimal o cualquier otra base que uses es una representación de esos datos en binario.
Gracias algo asi queria, no se si me podrias explicar de favor
Código Python:
Ver original
  1. "%6s %s" % (repr(i), bin(ord(i))[2:].zfill(8))

Saludos
  #4 (permalink)  
Antiguo 13/12/2010, 19:45
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Ayuda con obtencion de un Binario

repr -> Imprime la representacion del string y no el string en si.
bin -> Dado un numero regresa su representacion en binario, con 0b como inicio de la cadena.
ord -> Dado un string de tamaño 1 te regresa tu valor como entero
[2:] -> Regresa una copia de la cadena del indice 2 en adelante.
zfill -> Rellena con '0' la cadena, segun el parametro que le mandes.
  #5 (permalink)  
Antiguo 13/12/2010, 19:58
 
Fecha de Ingreso: marzo-2009
Mensajes: 25
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Ayuda con obtencion de un Binario

Muchas Gracias por tu amable ayuda, me a quedado todo claro.

Saludos ;)

Etiquetas: binario, obtencion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:34.