Número Mágico


Número Mágico

Número Mágico

Un número mágico es un método alternativo, normalmente asociado con Unix y sus derivados, que consiste en registrar un "número mágico" dentro de un archivo para así poder identificar su tipo. En un principio, se registraban 2-bytes identificadores al principio del archivo, pero puesto que cualquier secuencia binaria no decodificada puede ser considerada como un número, cualquier carácterística de un formato de archivo que lo distinguiese podría ser utilizada para identificarlo. Las imágenes GIF, por ejemplo, siempre empiezan con la representación en ASCII de GIF87a o GIF89a, dependiendo del estándar al que pertenezcan. Otros muchos formatos de archivo, en especial los de texto plano, son más difíciles de identificar por este método. Por ejemplo, los archivos HTML, pueden empezar por la cadena <html> (que no se diferencia entre mayúsculas y minúsculas), o para determinados tipos de documentos se emplea la etiqueta <!DOCTYPE, y para los XHTML, el identificador XML empieza con <?xml. En definitiva, los archivos pueden empezar con cualquier texto aleatorio o incluso líneas vacías, pero seguirían siendo HTML.

Este enfoque ofrece mejores garantías para que el archivo sea identificado correctamente, y en ocasiones puede determinar información muy precisa sobre el archivo. Aun así, es sólo útil si la interfaz empleada para acceder al archivo permite al usuario la manipulación sencilla con una variedad de métodos —como oposición al doble click que automáticamente hace lo "correcto"; ya que suele estar asociado con interfaz de línea de comandos y no con las gráficas. Puesto que el cálculo del "número mágico" puede ser bastante complejo, y habría que analizar cada archivo cada vez para cada una de las posibilidades de "archivo mágico", este enfoque es también bastante ineficiente, especialmente si se listan varios archivos (por el contrario, el método del nombre de archivo y métodos basados en metadatos sólo necesitan contrastar un fragmento de datos con un índice ordenado). Y, como con el ejemplo de HTML, algunos tipos de archivos no pueden ser identificados con este método. Aun así, es el mejor método por el cual un programa puede comprobar si un archivo puede ser procesado por él de forma correcta: aun pudiendo ser, el nombre o los metadatos, alterados independientemente de su contenido, pudiendo ser comprobado con un análisis de número mágico bien diseñado que compruebe corrupciones o tipos de archivos incorrectos.

También llamados líneas de shebang en programación de scripts como caso especial de números mágicos. Pero en este caso, los números mágicos son textos legibles normalmente que especifican a un intérprete de órdenes como trabajar con un archivo.

En los deportes, especialmente en el béisbol, el número mágico es el número de partidos que un equipo necesita ganar para ser el campeón automático de su división. Es decir, ya no importa lo que hacen los otros equipos de la división porque no la pueden ganar.

Obtenido de "N%C3%BAmero M%C3%A1gico"

Wikimedia foundation. 2010.