

*Un archivo binario es un archivo informático que no es un archivo de texto . [ 1 ] El término "archivo binario" se usa a menudo para referirse a un "archivo que no es de texto". [ 2 ] Muchos formatos de archivos binarios contienen partes que pueden interpretarse como texto; por ejemplo, algunos archivos de documentos informáticos que contienen texto formateado , como los archivos de documentos antiguos de Microsoft Word , contienen el texto del documento, pero también información de formato en formato binario. [ 2 ]
Antecedentes y terminología
Todos los ordenadores modernos almacenan información en forma de bits (dígitos binarios), utilizando código binario . Por esta razón, todos los datos almacenados en un ordenador son, en cierto sentido, binarios. Sin embargo, un tipo de datos particularmente útil y común es aquel en el que los bits representan texto mediante una codificación de caracteres . Estos archivos se denominan " archivos de texto ", y los que no lo son se conocen como "archivos binarios", a modo de retrónimo o hiperónimo .
Algunos archivos de texto contienen fragmentos que en realidad son datos binarios, y muchos archivos binarios contienen fragmentos de texto codificado; por ejemplo, los datos textuales pueden almacenarse como un campo dentro del formato binario, o se pueden haber elegido constantes arbitrarias que correspondan a letras ASCII como mnemotécnico (esto es común en los números mágicos de archivo ). Estos archivos mixtos de texto y binario suelen considerarse binarios, porque una aplicación que solo puede procesar texto no sabrá qué hacer con ellos.
Es bastante común que un archivo de texto utilice su texto para codificar datos que podrían codificarse en binario de otra manera; un archivo de texto que hace esto sigue considerándose un archivo de texto, y no un archivo binario, siempre que se mantenga dentro de las restricciones previamente establecidas sobre lo que representan los bits del archivo. Por ejemplo, en un archivo binario, el número 250 podría codificarse en bits como la secuencia 11111010. También podría codificarse en un archivo de texto (por ejemplo, un archivo fuente de un lenguaje de programación) como los dígitos 2, 5, 0; que a su vez serían codificados por los bits del archivo de texto como (por ejemplo, usando UTF-8 ) 00110010, 00110101, 00110000.
Estructura
Los archivos binarios se suelen considerar como una secuencia de bytes , lo que significa que los dígitos binarios ( bits ) se agrupan de ocho en ocho. Los archivos binarios normalmente contienen bytes que se interpretan como algo distinto a caracteres de texto . Los programas informáticos compilados son ejemplos típicos; de hecho, las aplicaciones compiladas a veces se denominan binarios , sobre todo por los programadores . Pero los archivos binarios también pueden contener imágenes, sonidos, versiones comprimidas de otros archivos, etc.; en resumen, cualquier tipo de contenido de archivo. [ 1 ]
Algunos archivos binarios contienen encabezados , bloques de metadatos que un programa informático utiliza para interpretar los datos del archivo. El encabezado suele contener una firma o un número mágico que identifica el formato. Por ejemplo, un archivo GIF puede contener varias imágenes, y los encabezados se utilizan para identificar y describir cada bloque de datos de imagen. Los bytes iniciales del encabezado contendrían texto como GIF87ao GIF89aque identifica el binario como un archivo GIF . Si un archivo binario no contiene encabezados, se le puede llamar archivo binario plano .
Un archivo de texto puede consistir parcial o totalmente en información binaria codificada. Al enviar archivos binarios a través de la red, estos pueden codificarse para que solo utilicen caracteres imprimibles. Esto suele ser necesario debido a las limitaciones de los protocolos de red utilizados para la navegación por internet y la comunicación por correo electrónico. Un ejemplo de esta codificación es Base64 . Asimismo, los archivos que contienen información de clave pública y privada para su uso en sistemas que emplean criptografía asimétrica (como los certificados de sitios web ) también pueden almacenarse con la información binaria codificada en caracteres imprimibles.
Manipulación
Para enviar archivos binarios a través de ciertos sistemas (como el correo electrónico ) que no admiten todos los valores de datos, estos suelen traducirse a una representación de texto plano (utilizando, por ejemplo, Base64 ). La codificación de los datos tiene la desventaja de aumentar el tamaño del archivo durante la transferencia (por ejemplo, el uso de Base64 aumenta el tamaño del archivo en aproximadamente un 30 %), además de requerir una conversión de nuevo a binario tras su recepción. Este aumento de tamaño puede compensarse con la compresión de enlaces de bajo nivel, ya que los datos de texto resultantes tendrán una entropía prácticamente igual a su tamaño, por lo que los datos transferidos en este caso probablemente tendrán un tamaño muy similar al de los datos binarios originales. Consulte la sección « Codificación de binario a texto» para obtener más información sobre este tema.
Microsoft Windows y sus bibliotecas estándar para los lenguajes de programación C y C++ permiten al programador especificar un parámetro que indica si se espera que un archivo sea de texto plano o binario al abrirlo; esto afecta a las llamadas a la biblioteca estándar para leer y escribir en el archivo, ya que el sistema convierte entre el carácter de "fin de línea" de C/C++ (el carácter de salto de línea ASCII) y la secuencia de fin de línea que Windows espera en los archivos (los caracteres de retorno de carro y salto de línea ASCII en secuencia). En sistemas tipo Unix , las bibliotecas estándar de C y C++ también permiten al programador especificar si se espera que un archivo sea de texto o binario, pero las bibliotecas pueden ignorar ese parámetro, ya que la secuencia de fin de línea en los sistemas tipo Unix es simplemente el carácter de fin de línea de C/C++.
Visita
Se puede utilizar un editor o visor hexadecimal para ver los datos de un archivo como una secuencia de valores hexadecimales (o decimales, binarios o caracteres ASCII) para los bytes correspondientes de un archivo binario. [ 2 ]
Si se abre un archivo binario en un editor de texto , cada grupo de ocho bits se traducirá normalmente como un solo carácter, y el usuario verá una visualización (probablemente ininteligible) de caracteres de texto. Si el archivo se abre en otra aplicación, esta tendrá su propio uso para cada byte: tal vez la aplicación trate cada byte como un número y genere una secuencia de números entre 0 y 255, o tal vez interprete los números en los bytes como colores y muestre la imagen correspondiente. Otro tipo de visores (llamados "extractores de palabras") simplemente reemplazan los caracteres no imprimibles con espacios, revelando solo el texto legible para humanos. Este tipo de vista es útil para una inspección rápida de un archivo binario con el fin de encontrar contraseñas en juegos, encontrar texto oculto en archivos que no son de texto y recuperar documentos dañados. [ 2 ] Incluso se puede utilizar para inspeccionar archivos sospechosos (software) en busca de efectos no deseados. Por ejemplo, el usuario vería cualquier URL/correo electrónico al que el software sospechoso pueda intentar conectarse para cargar datos no autorizados (para robar). Si el archivo se trata como un ejecutable y se ejecuta, el sistema operativo intentará interpretar el archivo como una serie de instrucciones en su lenguaje de máquina .
Interpretación
Los estándares son fundamentales para los archivos binarios. Por ejemplo, un archivo binario interpretado con el conjunto de caracteres ASCII mostrará texto. Una aplicación personalizada puede interpretarlo de forma diferente: un byte puede representar un sonido, un píxel o incluso una palabra completa. El binario en sí mismo carece de significado hasta que un algoritmo ejecutado define qué hacer con cada bit, byte, palabra o bloque. Por lo tanto, examinar el binario e intentar compararlo con formatos conocidos puede llevar a conclusiones erróneas sobre su contenido. Este hecho se puede aprovechar en la esteganografía , donde un algoritmo interpreta un archivo de datos binarios de forma diferente para revelar contenido oculto. Sin el algoritmo, es imposible detectar la existencia de dicho contenido.
Compatibilidad binaria
Dos archivos compatibles a nivel binario tendrán la misma secuencia de ceros y unos en la parte de datos. Sin embargo, el encabezado del archivo puede ser diferente.
El término se usa comúnmente para indicar que los archivos de datos generados por una aplicación son idénticos a los generados por otra. Por ejemplo, algunas empresas de software desarrollan aplicaciones para Windows y Macintosh que son compatibles a nivel binario, lo que significa que un archivo creado en Windows es intercambiable con uno creado en Macintosh. Esto evita muchos de los problemas de conversión que surgen al importar y exportar datos.
Un posible problema de compatibilidad binaria entre diferentes computadoras es el orden de bytes (endianness) de la computadora. Algunas computadoras almacenan los bytes en un archivo en un orden diferente. [ 3 ]
Véase también
Referencias
- 1 2 "Definición de archivo binario por The Linux Information Project (LINFO)" . www.linfo.org . Consultado el 12 de octubre de 2017 .
- 1 2 3 4 "Archivos ASCII vs. Archivos binarios" . www.cs.umd.edu . Consultado el 12 de octubre de 2017 .
- ↑ "NCL: Lectura de datos binarios" . www.ncl.ucar.edu . Archivado del original el 12 de octubre de 2017. Consultado el 12 de octubre de 2017 .
Enlaces externos
Definición de binarios en el diccionario Wikcionario
- formatos de archivos informáticos