Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/11/2009, 11:06
Avatar de ema2220
ema2220
 
Fecha de Ingreso: noviembre-2009
Mensajes: 1
Antigüedad: 14 años, 5 meses
Puntos: 0
Como pasar de numero hexadecimal a ASCII

Hola, gracias a todos primero, por leer este tema.
Mi problema es que estoy programando en python un programa que pueda reconocer la extencion de un archivo.
Consiste en leer la extencion del nombre y decir que tipo de archivo es.
Y tambien tengo que hacerlo segun el numero magico (o caracteres identificadores, como le quieran llamar), mi problema es que tengo que comparar ese numero que me da al leer el archivo con un numero ya establecido.
Por ejemplo: yo habro un archivo con el open en modo lectura y binario (en este caso un executable). tengo q leer los dos primeros byte y luego a esos 2 compararlo con una clave de una variable del tipo diccionario.
Mi problema empiesa cuando tengo que indicarla al diccionario que la clave es tipo numerico en hexadecimal. lo hago haciendo 0xnumero (no se si lo toma bien).
PEro cuando lo comparo con el resultado que me dio la lectura del archivo (en este caso me dio: 4D 5A)
no me lo toma como igual, es decir la comparacion entre b"4D 5A" y 0x4D5A no me lo da igual.
Espero que entioendan mi problema y me den una solucion. Muchas gracias!

PD: Como veran el resultado de leer los dos primero byte del archivo es de tipo binario y hexadecimal. PEro cuando lee aplico un print me sale esto:
b"MZ"
Entonces me lo convierte a ASCII automaticamente? pero necesito compararlo des numeracion hexadeciamal....como hago?

Última edición por ema2220; 22/11/2009 a las 11:10 Razón: mal espresado