stringtranslate.com

personaje sustituto

En los datos informáticos, un carácter sustituto (␚) es un carácter de control que se utiliza para rellenar los datos transmitidos con el fin de enviarlos en bloques de tamaño fijo, o para reemplazar un carácter que se reconoce como inválido, erróneo o irrepresentable. en un dispositivo determinado. También se utiliza como secuencia de escape en algunos lenguajes de programación .

En el juego de caracteres ASCII , este carácter está codificado con el número 26 ( 1A hexadecimal ). Los teclados estándar transmiten este código cuando las teclas Ctrly se presionan simultáneamente ( Ctrl+Z , a menudo documentado por convención como ^Z ) . [1] Unicode hereda este carácter de ASCII, pero recomienda que se utilice el carácter de reemplazo (�, U+FFFD) para representar entradas no decodificables, cuando la codificación de salida es compatible con él.Z

Usos

Fin del documento

Históricamente, bajo el monitor PDP-6 , [2] RT-11 , VMS y TOPS-10 , [3] y en los primeros sistemas operativos PC CP/M 1 y 2 (y derivados como MP/M ) era necesario explícitamente marcar el final de un archivo (EOF) porque el sistema de archivos nativo no pudo registrar el tamaño exacto del archivo por sí solo; Los archivos se asignaban en extensiones (registros) de un tamaño fijo, dejando normalmente algo de espacio asignado pero no utilizado al final de cada archivo. [4] [5] [6] [7] Este espacio adicional se llenó con 1A 16 ( hexadecimales ) caracteres en CP/M. Los sistemas de archivos CP/M extendidos utilizados por CP/M 3 y superiores (y derivados como Concurrent CP/M , Concurrent DOS y DOS Plus ) admitían archivos granulares de bytes, [8] [9] por lo que esto ya no era un requisito. , pero permaneció como una convención (especialmente para archivos de texto ) para garantizar la compatibilidad con versiones anteriores.

En CP/M , 86-DOS , MS-DOS , PC DOS , DR-DOS y sus diversos derivados, el carácter SUB también se usó para indicar el final de una secuencia de caracteres, [ cita requerida ] y, por lo tanto, se usó para terminar el usuario. entrada en una ventana de línea de comando interactiva (y como tal, a menudo se usa para finalizar la redirección de entrada de la consola, por ejemplo, cuando lo instiga el comando COPY CON: TYPEDTXT.TXT).

Si bien técnicamente ya no es necesario indicar el final de un archivo, a partir de 2017, muchos editores de texto [ ¿cuáles? ] y los lenguajes de programa aún admiten esta convención, o se pueden configurar para insertar este carácter al final de un archivo al editarlo, o al menos manejarlos adecuadamente en archivos de texto. [ cita necesaria ] En tales casos, a menudo se denomina EOF "suave", ya que no representa necesariamente el final físico del archivo, sino que es más un marcador que indica que "no hay datos útiles más allá de este punto". En realidad, pueden existir más datos más allá de este carácter hasta el final real de los datos en el sistema de archivos, por lo que se puede usar para ocultar el contenido del archivo cuando el archivo se ingresa en la consola o se abre en los editores. Muchos estándares de formato de archivos (por ejemplo, PNG o GIF ) incluyen el carácter SUB en sus encabezados para realizar precisamente esta función. Algunos formatos de archivos de texto modernos (por ejemplo, CSV-1203 [10] ) aún recomiendan agregar un carácter EOF final como último carácter del archivo. Sin embargo, escribir + no incrusta un carácter EOF en un archivo ni en DOS ni en Windows , ni las API de esos sistemas utilizan el carácter para indicar el final real de un archivo.ControlZ

Algunos lenguajes de programación (por ejemplo, Visual Basic ) no leerán más allá de un EOF "suave" cuando utilicen las primitivas de lectura de archivos de texto incorporadas (ENTRADA, ENTRADA DE LÍNEA, etc.), [ cita necesaria ] y se deben adoptar métodos alternativos, por ejemplo, abrir el archivo en modo binario o utilizando el objeto del sistema de archivos para avanzar más allá de él.

El carácter 26 se utilizó para marcar "Fin de archivo" aunque ASCII llama a este carácter Sustituto y tiene otros caracteres para indicar "Fin de archivo". El número 28 que se llama " Separador de archivos " también se ha utilizado con fines similares.

Otros usos

En sistemas operativos tipo Unix , este carácter se utiliza normalmente en shells como una forma para que el usuario suspenda el proceso interactivo que se está ejecutando actualmente. [11] El proceso suspendido luego se puede reanudar en modo de primer plano (interactivo), o se puede hacer que reanude la ejecución en modo de fondo , o se puede finalizar . Cuando un usuario ingresa en su terminal de computadora , el proceso en primer plano que se está ejecutando actualmente recibe una señal de "detención de terminal" ( SIGTSTP ), que generalmente hace que el proceso suspenda su ejecución. Posteriormente, el usuario puede continuar la ejecución del proceso utilizando el comando "primer plano" ( fg) o el comando " segundo plano " ( bg).

El informe Consideraciones de seguridad de Unicode [12] recomienda este carácter como reemplazo seguro de los caracteres no asignables durante la conversión del juego de caracteres.

En muchas GUI y aplicaciones, se puede utilizar + ( + en macOS ) para deshacer la última acción. En muchas aplicaciones, las acciones anteriores a la última también se pueden deshacer presionando + varias veces. + fue una de las pocas secuencias de teclado elegidas por los diseñadores de programas de Xerox PARC para controlar la edición de texto .ControlZ⌘ CommandZControlZControlZ

Representación

Representación ASCII y Unicode de "sustituto":

Ver también

Referencias

  1. ^ "Atajos de teclado para Windows". Soporte de Microsoft . Microsoft . Consultado el 2 de junio de 2012 .
  2. ^ "Tabla de características de dispositivos IO: consola o teletipos". Manual del sistema de multiprogramación PDP-6 (PDF) . Maynard, Massachusetts, EE.UU.: Digital Equipment Corporation (DEC). 1965. pág. 43. DIC-6-0-EX-SYS-UM-IP-PRE00. Archivado (PDF) desde el original el 14 de julio de 2014 . Consultado el 10 de julio de 2014 .(1+84+10 páginas)
  3. ^ "5.1.1.1. Funciones dependientes del dispositivo - Modos de datos - Software Full-Duplex A (ASCII) y AL (Línea ASCII)". Manual de referencia de PDP-10: Comunicación con el monitor: monitores de tiempo compartido (PDF) . vol. 3. Corporación de Equipos Digitales (DEC). 1969. págs. 5-3 - 5-6 [5-5 (431)]. Archivado (PDF) desde el original el 15 de noviembre de 2011 . Consultado el 10 de julio de 2014 .(207 páginas)
  4. ^ Elliott, John C. (1998). "Formatos de disco CP/M 1.4". Archivado desde el original el 14 de noviembre de 2020 . Consultado el 18 de noviembre de 2021 .
  5. ^ Elliott, John C. (1998). "Formatos de disco CP/M 2.2". Archivado desde el original el 5 de noviembre de 2020 . Consultado el 18 de noviembre de 2021 .
  6. ^ "2. Convenciones de llamadas al sistema operativo". Guía de interfaz CP/M 2.0 (PDF) (1 ed.). Pacific Grove, California, EE. UU.: Investigación digital . 1979. pág. 5. Archivado (PDF) desde el original el 28-02-2020 . Consultado el 28 de febrero de 2020 . [...] El final de un archivo ASCII se indica mediante un carácter de control-Z (1AH) o un final de archivo real, devuelto por la operación de lectura CP/M . Sin embargo , los caracteres Control-Z incrustados en archivos de código de máquina (por ejemplo, archivos COM ) se ignoran y la condición de fin de archivo devuelta por CP/M se utiliza para finalizar las operaciones de lectura. [...](56 páginas)
  7. ^ Hogan, Thom (1982). "3. Comandos transitorios CP/M". Guía del usuario de Osborne CP/M: para todos los usuarios de CP/M (2 ed.). Berkeley, California, Estados Unidos: A. Osborne/McGraw-Hill . pag. 74.ISBN 0-931988-82-9. Consultado el 28 de febrero de 2020 . [...] CP/M marca el final de un archivo ASCII colocando un carácter CONTROL-z en el archivo después del último carácter de datos. Si el archivo contiene un múltiplo exacto de 128 caracteres, en cuyo caso agregar CONTROL-Z desperdiciaría 127 caracteres, CP/M no lo hace. El uso del carácter CONTROL-Z como marcador de fin de archivo es posible porque CONTROL-z rara vez se usa como datos en archivos ASCII. Sin embargo, en un archivo que no es ASCII, es tan probable que aparezca CONTROL-Z como cualquier otro carácter. Por lo tanto, no se puede utilizar como marcador de fin de archivo. CP/M utiliza un método diferente para marcar el final de un archivo que no es ASCII. CP/M supone que ha llegado al final del archivo cuando ha leído el último registro (unidad básica de espacio en disco) asignado al archivo. La entrada del directorio del disco para cada archivo contiene una lista de los registros del disco asignados a ese archivo. Este método se basa en el tamaño del archivo, más que en su contenido, para localizar el final del archivo. [...][1][2]
  8. ^ Elliott, John C. (1998). "Formatos de disco CP/M 3.1". Archivado desde el original el 26 de octubre de 2021 . Consultado el 18 de noviembre de 2021 .
  9. ^ Elliott, John C. (1998). "Formatos de disco CP/M 4.1". Archivado desde el original el 5 de noviembre de 2020 . Consultado el 18 de noviembre de 2021 .
  10. ^ Especificación de formato CSV-1203 Archivado el 16 de mayo de 2016 en el archivo web portugués
  11. ^ "Referencia rápida: comandos de Unix". Conexión de TI . Universidad de Washington . Consultado el 2 de junio de 2012 .
  12. ^ Informe de consideraciones de seguridad de Unicode

Otras lecturas