stringtranslate.com

Texto sin formato

Archivo de texto con una parte de The Human Side of Animals de Royal Dixon , mostrado por el comando caten una ventana xterm

En informática , texto plano es un término vago para datos (por ejemplo, contenidos de archivos) que representan sólo caracteres de material legible pero no su representación gráfica ni otros objetos ( números de punto flotante , imágenes, etc.). También puede incluir un número limitado de caracteres de "espacio en blanco" que afectan la disposición simple del texto, como espacios, saltos de línea o caracteres de tabulación. El texto sin formato es diferente del texto formateado , donde se incluye información de estilo; del texto estructurado, donde se identifican partes estructurales del documento como párrafos, secciones y similares; y de archivos binarios en los que algunas partes deben interpretarse como objetos binarios (enteros codificados, números reales, imágenes, etc.).

El término a veces se usa de manera bastante vaga, para referirse a archivos que contienen sólo contenido "legible" (o simplemente archivos sin nada que el hablante no prefiera). Por ejemplo, eso podría excluir cualquier indicación de fuentes o diseño (como marcas, rebajas o incluso pestañas); caracteres como comillas, espacios que no se separan, guiones suaves, guiones largos y/o ligaduras; u otras cosas.

En principio, el texto sin formato puede tener cualquier codificación , pero ocasionalmente se considera que el término implica ASCII . A medida que las codificaciones basadas en Unicode , como UTF-8 y UTF-16 , se vuelven más comunes, es posible que ese uso se esté reduciendo.

El texto sin formato también se utiliza a veces sólo para excluir archivos "binarios": aquellos en los que al menos algunas partes del archivo no pueden interpretarse correctamente mediante la codificación de caracteres vigente. Por ejemplo, un archivo o cadena que consta de "hola" (en cualquier codificación), seguido de 4 bytes que expresan un entero binario que no es un carácter, es un archivo binario. Convertir un archivo de texto sin formato a una codificación de caracteres diferente no cambia el significado del texto, siempre que se utilice la codificación de caracteres correcta. Sin embargo, convertir un archivo binario a un formato diferente puede alterar la interpretación de los datos no textuales.

Texto sin formato y texto enriquecido

Según el estándar Unicode: [1]

Sin embargo, según otras definiciones, los archivos que contienen marcado u otros metadatos generalmente se consideran texto sin formato, siempre que el marcado también esté en un formato directamente legible por humanos (como en HTML, XML, etc.). Por lo tanto, representaciones como SGML, RTF, HTML, XML, marcado wiki y TeX, así como casi todos los archivos de código fuente de lenguajes de programación, se consideran texto sin formato. El contenido particular es irrelevante para determinar si un archivo es texto sin formato. Por ejemplo, un archivo SVG puede expresar dibujos o incluso gráficos en mapas de bits, pero sigue siendo texto sin formato.

El uso de archivos de texto plano en lugar de archivos binarios permite que los archivos sobrevivan mucho mejor "en la naturaleza", en parte haciéndolos en gran medida inmunes a las incompatibilidades de la arquitectura informática. Por ejemplo, se pueden evitar todos los problemas del endianismo (con codificaciones como UCS-2 en lugar de UTF-8, el endianismo importa, pero de manera uniforme para cada carácter, en lugar de para subconjuntos potencialmente desconocidos del mismo).

Uso

El objetivo de utilizar texto sin formato hoy en día es principalmente la independencia de los programas que requieren su propia codificación o formato de archivo especial . Los archivos de texto sin formato se pueden abrir, leer y editar con utilidades y editores de texto omnipresentes.

Una interfaz de línea de comandos permite a las personas dar comandos en texto sin formato y obtener una respuesta, normalmente también en texto sin formato.

Muchos otros programas informáticos también son capaces de procesar o crear texto plano, como innumerables programas en DOS , Windows , Mac OS clásico y Unix y sus similares; así como navegadores web (algunos navegadores como Lynx y Line Mode Browser solo producen texto sin formato para su visualización) y otros lectores de texto electrónico .

Los archivos de texto sin formato son casi universales en programación; un archivo de código fuente que contiene instrucciones en un lenguaje de programación es casi siempre un archivo de texto sin formato. El texto sin formato también se usa comúnmente para archivos de configuración , que se leen para conocer las configuraciones guardadas al iniciar un programa.

El texto sin formato se utiliza en gran parte del correo electrónico .

Un comentario , un archivo " .txt " o un registro TXT generalmente contienen solo texto sin formato (sin formato) destinado a la lectura humana.

El mejor formato para almacenar conocimientos de forma persistente es el texto sin formato, en lugar de algún formato binario . [2]

Codificación

Codificaciones de caracteres

Antes de principios de la década de 1960, las computadoras se utilizaban principalmente para procesar números más que para escribir texto, y la memoria era extremadamente costosa. Las computadoras a menudo asignaban solo 6 bits para cada carácter, lo que permitía solo 64 caracteres; asignar códigos para AZ, az y 0-9 dejaría solo 2 códigos: no es suficiente. La mayoría de las computadoras optaron por no admitir letras minúsculas. Por lo tanto, los primeros proyectos de texto como el Index Thomisticus de Roberto Busa , el Brown Corpus y otros tuvieron que recurrir a convenciones como escribir un asterisco delante de letras que en realidad estaban destinadas a estar en mayúsculas.

Fred Brooks , de IBM, abogó firmemente por pasar a los bytes de 8 bits, porque algún día la gente podría querer procesar texto, y ganó. Aunque IBM utilizó EBCDIC , la mayor parte del texto a partir de entonces pasó a codificarse en ASCII , utilizando valores del 0 al 31 para caracteres de control (no imprimibles) y valores del 32 al 127 para caracteres gráficos como letras, dígitos y puntuación. La mayoría de las máquinas almacenaban caracteres en 8 bits en lugar de 7, ignorando el bit restante o usándolo como suma de comprobación .

La casi ubicuidad de ASCII fue de gran ayuda, pero no logró abordar las preocupaciones internacionales y lingüísticas. El signo de dólar ("$") no era tan útil en Inglaterra, y los caracteres acentuados usados ​​en español, francés, alemán, portugués y muchos otros idiomas no estaban disponibles en ASCII (sin mencionar los caracteres usados ​​en griego, ruso, y la mayoría de las lenguas orientales). Muchas personas, empresas y países definieron caracteres adicionales según fuera necesario, a menudo reasignando caracteres de control o usando valores en el rango de 128 a 255. El uso de valores superiores a 128 entra en conflicto con el uso del octavo bit como suma de verificación, pero el uso de la suma de verificación desapareció gradualmente. .

Estos caracteres adicionales se codificaban de manera diferente en diferentes países, lo que hacía imposible decodificar los textos sin conocer las reglas del autor. Por ejemplo, un navegador podría mostrar ¬A en lugar de ` si intenta interpretar un conjunto de caracteres como otro. La Organización Internacional de Normalización ( ISO ) finalmente desarrolló varias páginas de códigos bajo ISO 8859 , para adaptarse a varios idiomas. El primero de ellos ( ISO 8859-1 ) también se conoce como "Latin-1" y cubre las necesidades de la mayoría (no todos) los idiomas europeos que utilizan caracteres latinos (no había suficiente espacio para cubrirlos todos). . Luego, ISO 2022 proporcionó convenciones para "cambiar" entre diferentes conjuntos de caracteres en mitad del archivo. Muchas otras organizaciones desarrollaron variaciones de estos y durante muchos años las computadoras Windows y Macintosh utilizaron variaciones incompatibles.

La situación de la codificación de texto se volvió cada vez más compleja, lo que llevó a esfuerzos de ISO y Unicode Consortium para desarrollar una codificación de caracteres única y unificada que pudiera cubrir todos los idiomas conocidos (o al menos todos los conocidos actualmente). Después de algún conflicto, [ cita necesaria ] estos esfuerzos se unificaron. Unicode actualmente permite 1.114.112 valores de código y asigna códigos que cubren casi todos los sistemas de escritura de texto modernos, así como muchos históricos, y para muchos caracteres no lingüísticos como dingbats de imprenta , símbolos matemáticos, etc.

El texto se considera texto sin formato independientemente de su codificación. Para comprenderlo o procesarlo adecuadamente, el destinatario debe saber (o poder descubrir) qué codificación se utilizó; sin embargo, no necesitan saber nada sobre la arquitectura de la computadora que se utilizó, o sobre las estructuras binarias definidas por cualquier programa (si lo hay) que creó los datos.

Quizás la forma más común de indicar explícitamente la codificación específica de texto plano sea con un tipo MIME . Para correo electrónico y HTTP , el tipo MIME predeterminado es " text/plain ": texto sin formato sin marcado. Otro tipo MIME que se utiliza a menudo tanto en correo electrónico como en HTTP es " text/html ; charset=UTF-8": texto sin formato representado mediante la codificación de caracteres UTF-8 con marcado HTML. Otro tipo MIME común es "application/json": texto sin formato representado mediante la codificación de caracteres UTF-8 con marcado JSON .

Cuando se recibe un documento sin ninguna indicación explícita de la codificación de caracteres, algunas aplicaciones utilizan la detección de juegos de caracteres para intentar adivinar qué codificación se utilizó.

Códigos de control

ASCII reserva los primeros 32 códigos (números del 0 al 31 decimal) para caracteres de control conocidos como "conjunto C0": códigos originalmente destinados a no representar información imprimible, sino a controlar dispositivos (como impresoras ) que utilizan ASCII, o para proporcionar metainformación sobre flujos de datos como los almacenados en cinta magnética. Incluyen caracteres comunes como la nueva línea y el carácter de tabulación .

En conjuntos de caracteres de 8 bits como Latin-1 y otros conjuntos ISO 8859 , los primeros 32 caracteres de la "mitad superior" (128 a 159) también son códigos de control, conocidos como "conjunto C1". Rara vez se utilizan directamente; cuando aparecen en documentos que aparentemente tienen una codificación ISO 8859, las posiciones de sus códigos generalmente se refieren a los caracteres en esa posición en una codificación patentada específica del sistema, como Windows-1252 o Mac OS Roman , que usan los códigos. para proporcionar en su lugar caracteres gráficos adicionales.

Unicode define caracteres de control adicionales, incluidos caracteres de anulación de dirección de texto bidireccional (utilizados para marcar explícitamente la escritura de derecha a izquierda dentro de la escritura de izquierda a derecha y al revés) y selectores de variación para seleccionar formas alternativas de ideogramas CJK y emoji. y otros personajes.

Ver también

Referencias

  1. ^ "El estándar Unicode, versión 14.0" (PDF) . págs. 18-19.
  2. ^ Andrew Hunt, David Thomas. " El programador pragmático ". 1999. Capítulo 14: "El poder del texto sin formato". pag. 73.