stringtranslate.com

Archivo binario

Un volcado hexadecimal del favicon de Wikipedia de 318 bytes , o . La primera columna numera la dirección inicial de la línea, mientras que indica la repetición.*

Un archivo binario es un archivo de computadora que no es un archivo de texto . [1] El término "archivo binario" se utiliza a menudo como un término que significa "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 de computadora que contienen texto formateado , como los archivos de documentos más antiguos de Microsoft Word , contienen el texto del documento pero también contienen información de formato en formato binario. [2]

Estructura

Generalmente se piensa que los archivos binarios son una secuencia de bytes , lo que significa que los dígitos binarios ( bits ) están agrupados en ochos. Los archivos binarios normalmente contienen bytes que deben interpretarse como algo más que caracteres de texto . Los programas informáticos compilados son ejemplos típicos; de hecho, a veces los programadores se refieren a las aplicaciones compiladas como binarias . Pero los archivos binarios también pueden significar que contienen 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 utilizados por un programa informático para interpretar los datos del archivo. El encabezado suele contener una firma o un número mágico que puede identificar 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án texto como GIF87ao GIF89aque pueda identificar 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 total o parcialmente en información binaria codificada. Al enviar archivos binarios a través de la red, es posible que se codifiquen para que utilicen únicamente 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. Una de esas codificaciones es Base64 . Además, los archivos que contienen información de clave pública y privada para su uso en sistemas que emplean criptografía asimétrica (como 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 permiten todos los valores de datos, a menudo se traducen a una representación de texto plano (usando, por ejemplo, Base64 ). Codificar los datos tiene la desventaja de aumentar el tamaño del archivo durante la transferencia (por ejemplo, el uso de Base64 aumentará el tamaño del archivo en aproximadamente un 30%), además de requerir una traducción nuevamente al binario después de la recepción. El aumento de tamaño puede contrarrestarse mediante una compresión de enlaces de nivel inferior, ya que los datos de texto resultantes tendrán tanta menos entropía a medida que aumentan de tamaño, por lo que los datos reales transferidos en este escenario probablemente serían muy cercanos al tamaño del original. datos binarios. Consulte 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 texto plano o binario al abrirlo; Esto afecta las llamadas a la biblioteca estándar para leer y escribir desde 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 (el carácter ASCII). caracteres de retorno de carro y salto de línea en secuencia). En sistemas tipo Unix , las bibliotecas estándar C y C++ en esos sistemas también permiten al programador especificar si se espera que un archivo sea de texto o binario, pero las bibliotecas pueden ignorar, y de hecho lo hacen, ese parámetro, como la secuencia de fin de línea. en sistemas tipo Unix es solo el carácter de final de línea C/C++.

Visita

Se puede utilizar un editor o visor hexadecimal para ver datos de archivos como una secuencia de valores hexadecimales (o caracteres decimales, binarios o 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 normalmente se traducirá como un solo carácter y el usuario verá una visualización (probablemente ininteligible) de caracteres textuales. Si el archivo se abre en alguna otra aplicación, esa aplicación tendrá su propio uso para cada byte: tal vez la aplicación trate cada byte como un número y genere un flujo de números entre 0 y 255, o tal vez interprete los números en los bytes. como colores y mostrar la imagen correspondiente. Otro tipo de visores (llamados "extractores de palabras") simplemente reemplazan los caracteres no imprimibles con espacios que revelan sólo el texto legible por 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 corruptos. [2] Incluso se puede utilizar para inspeccionar archivos (software) sospechosos 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 aprobados (para robar). Si el archivo se trata como un ejecutable y se ejecuta, entonces el sistema operativo intentará interpretar el archivo como una serie de instrucciones en su lenguaje de máquina .

Interpretación

Los estándares son muy importantes para los archivos binarios. Por ejemplo, un archivo binario interpretado por el juego de caracteres ASCII dará como resultado que se muestre texto. Una aplicación personalizada puede interpretar el archivo de manera diferente: un byte puede ser un sonido, un píxel o incluso una palabra completa. El binario en sí no tiene sentido, hasta el momento en que un algoritmo ejecutado defina qué se debe hacer con cada bit, byte, palabra o bloque. Por lo tanto, simplemente examinar el binario e intentar compararlo con formatos conocidos puede llevar a una conclusión equivocada sobre lo que realmente representa. Este hecho se puede utilizar en esteganografía , donde un algoritmo interpreta un archivo de datos binarios de manera diferente para revelar contenido oculto. Sin el algoritmo, es imposible saber si existe contenido oculto.

Compatibilidad binaria

Dos archivos que sean compatibles con binarios tendrán la misma secuencia de ceros y unos en la parte de datos del archivo. Sin embargo, el encabezado del archivo puede ser diferente.

El término se utiliza más comúnmente para indicar que los archivos de datos producidos por una aplicación son exactamente iguales a los archivos de datos producidos por otra aplicación. Por ejemplo, algunas empresas de software producen aplicaciones para Windows y Macintosh que son compatibles con binarios, lo que significa que un archivo producido en un entorno Windows es intercambiable con un archivo producido en un Macintosh. Esto evita muchos de los problemas de conversión causados ​​por la importación y exportación de datos.

Un posible problema de compatibilidad binaria entre diferentes computadoras es el endianidad de la computadora. Algunas computadoras almacenan los bytes de un archivo en un orden diferente. [3]

Ver también

Referencias

  1. ^ ab "Definición de archivos binarios según The Linux Information Project (LINFO)". www.linfo.org . Consultado el 12 de octubre de 2017 .
  2. ^ abcd "Ascii frente a archivos binarios". www.cs.umd.edu . Consultado el 12 de octubre de 2017 .
  3. ^ "NCL: lectura de datos binarios". www.ncl.ucar.edu . Archivado desde el original el 12 de octubre de 2017 . Consultado el 12 de octubre de 2017 .

enlaces externos