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?