La diferencia entre archivos de texto y archivos binarios
1. Definición de archivos de texto y archivos binarios
Todo el mundo sabe que el almacenamiento de una computadora es físicamente binario, por lo que la diferencia entre archivos de texto y archivos binarios no es física. Los dos sólo se diferencian en el nivel de codificación. En pocas palabras, los archivos de texto son archivos basados en codificación de caracteres. Las codificaciones comunes incluyen codificación ASCII, codificación UNICODE, etc. Los archivos binarios son archivos basados en la codificación de valores. Puede especificar qué significa un determinado valor según la aplicación específica (dicho proceso puede considerarse como codificación personalizada.
Como se puede ver en lo anterior, los archivos de texto. son básicamente Lo anterior es una codificación de longitud fija (también hay codificaciones de longitud no fija como UTF-8), y los archivos binarios pueden considerarse como codificación de longitud variable, porque es una codificación de valor y depende completamente de Usted decide cuántos bits representan un valor. Es posible que esté familiarizado con los archivos BMP. Tomémoslo como ejemplo. Su encabezado es información de encabezado de archivo de longitud relativamente fija. Los primeros 2 bytes se utilizan para registrar que el archivo está en BMP. formato, y los siguientes 8 bytes se utilizan para registrar la longitud del archivo, y los siguientes 4 bytes se utilizan para registrar la longitud del encabezado del archivo bmp
2. /p>
¿Cuál es el proceso de abrir un archivo con una herramienta de texto? ¿Qué pasa con el Bloc de notas? Primero lee el flujo de bits binario correspondiente al archivo, luego interpreta el flujo de acuerdo con el método de decodificación que elija y luego lo muestra. los resultados de la interpretación. En términos generales, el método de decodificación que elija estará en formato de código ASCII (un carácter de código ASCII tiene 8 bits). A continuación, interpretará este flujo de archivo de 8 bits. secuencia de archivos "01000000_01000001_01000010_01000011" (guión bajo ''_'', agregado manualmente para mejorar la legibilidad), si los primeros 8 bits ''01000000'' se decodifican según el código ASCII, el carácter correspondiente es el carácter ''A'' De manera similar, los otros 3 8 bits se pueden decodificar por separado como ''BCD'', es decir, esta secuencia de archivos se puede interpretar como "ABCD", y luego el Bloc de notas mostrará este "ABCD" en la pantalla. p>
De hecho, cualquier cosa en el mundo debe compararse con cualquier otra cosa. Existe un protocolo establecido y un código establecido para las conversaciones de comunicación entre personas. El carácter chino "madre" representa a la persona que te dio a luz. Este es un código establecido. Pero observe esta situación, el carácter chino "madre" en caracteres japoneses puede significar la persona que dio a luz, por lo que cuando una persona china A y una persona japonesa B usan la palabra "madre" para comunicarse, Es normal que se produzcan malentendidos. Ábralo con el Bloc de notas. La situación para los archivos binarios es similar a la anterior. No importa qué archivo abra con el Bloc de notas, funcionará de acuerdo con la codificación de caracteres establecida (como el código ASCII). Cuando abre un archivo binario, es inevitable que aparezcan caracteres confusos. Decodificación y decodificación No corresponden. Por ejemplo, la secuencia del archivo ''00000000_00000000_00000001'' puede corresponder a un entero de cuatro bytes int 1 en el archivo binario. , pero cuando se interpreta en el Bloc de notas, se convierte en los cuatro caracteres de control "NULL_NULL_NULL_SOH"
El almacenamiento y la lectura de archivos de texto son básicamente un proceso inverso. El acceso a archivos binarios es obviamente similar al acceso a texto. archivos, pero los métodos de codificación/decodificación son diferentes, lo cual no se describirá nuevamente.
3. Las ventajas y desventajas de los archivos de texto y los archivos binarios
Debido a que la diferencia entre archivos de texto y archivos binarios es solo la codificación, sus ventajas y desventajas son las ventajas y desventajas de codificación. Esto quedará más claro si busca un libro de codificación. En general, se cree que la codificación de archivos de texto se basa en caracteres de longitud fija y es más fácil de decodificar; la codificación de archivos binarios es de longitud variable, por lo que es flexible, tiene una mayor utilización del almacenamiento y es más difícil de decodificar (diferentes formatos de archivos binarios). tienen diferentes métodos de decodificación).
Con respecto a la utilización del espacio, piénselo: los archivos binarios pueden incluso usar un bit para representar un significado (operación de bits), mientras que cualquier significado en un archivo de texto tiene al menos un carácter.
En Windows, los archivos de texto no se almacenan necesariamente en ASCII, porque el código ASCII solo puede representar el identificador 128. Si abre un documento de texto y luego lo guarda como, hay una opción para codificarlo. Al elegir un formato de almacenamiento, en términos generales, el formato de codificación UTF-8 tiene mejor compatibilidad. El lenguaje informático original utilizado en binario no tiene compatibilidad de almacenamiento. Muchos libros también creen que los archivos de texto son más legibles y requieren más tiempo de conversión. y escribir requiere codificación y decodificación), pero los archivos binarios son difíciles de leer y no hay tiempo de conversión para el almacenamiento (la lectura y escritura no requieren codificación ni decodificación, solo escriba valores directamente). La legibilidad aquí es desde la perspectiva de los usuarios de software, porque podemos explorar casi todos los archivos de texto usando la herramienta Bloc de notas general, por lo que se dice que los archivos de texto son legibles, mientras que leer y escribir un archivo binario específico requiere un decodificador de archivo específico, por lo que la legibilidad de los archivos binarios es deficiente. Por ejemplo, para leer archivos BMP, debe utilizar un software de lectura de imágenes.
El tiempo de conversión de almacenamiento aquí debe ser desde una perspectiva de programación, porque algunos sistemas operativos como Windows necesitan convertir retornos de carro y avances de línea (reemplace ''\n'' con '' \r\n' ', por lo que al leer y escribir archivos, el sistema operativo necesita verificar carácter por carácter si el carácter actual es ''\n'' o ''\r\n''). Esto se almacena y convierte en el sistema operativo Linux. Por supuesto, no es necesario. Esta conversión de almacenamiento puede ocurrir al compartir archivos en dos sistemas operativos diferentes.