Замещающий персонаж - Substitute character

А замещающий символ (␚) - это управляющий персонаж который используется вместо символа, который признан недействительным или ошибочным, или который не может быть представлен на данном устройстве. Он также используется как escape-последовательность в некоторых языки программирования.

в ASCII набор символов, этот символ кодируется числом 26 ( шестнадцатеричный ). Стандарт клавиатуры передать этот код, когда Ctrl и Z клавиши нажимаются одновременно (Ctrl + Z, по соглашению часто обозначается как ^ Z).[1] Unicode кодирует этот символ, но рекомендует замещающий символ ( , U + FFFD) может использоваться вместо того, чтобы представлять не декодируемые входные данные, когда выходная кодировка совместима с ним.

Использует

Конец файла

Исторически под PDP-6 монитор[2] РТ-11, VMS, ТОП-10[3] а также ранний ПК CP / M 1 и 2 операционные системы (и производные вроде МП / м ) необходимо было явно отметить конец файла (EOF), потому что CP / M файловая система не мог самостоятельно записать точный размер файла; файлы были размещены в экстентах (записях) фиксированного размера, обычно оставляя некоторое выделенное, но неиспользуемое пространство в конце каждого файла.[4][5][6][7] Это дополнительное пространство было заполнено 16 (шестнадцатеричный ) символов под CP / M. Расширенные файловые системы CP / M, используемые CP / M 3 и выше (и производные, такие как Параллельные CP / M, Параллельная DOS и DOS Plus ) поддерживает побайтовые файлы,[8][9] так что это больше не было физическим требованием, а просто условностью (особенно для текстовые файлы ) для обеспечения обратной совместимости.

В CP / M, 86-ДОС, MS-DOS, ПК DOS, DR-DOS, и их различные производные, символ SUB также использовался для обозначения конца символьного потока и, таким образом, использовался для завершения пользовательского ввода в интерактивном командная строка окно (и поэтому часто используется для завершения перенаправления ввода консоли, например, по инициативе КОНТРОЛЬ КОПИИ: TYPEDTXT.TXT).

Хотя технически больше не требуется указывать конец файла, многие текстовые редакторы и языки программ по-прежнему поддерживают это соглашение или могут быть настроены для вставки этого символа в конец файла при редактировании или, по крайней мере, правильно справляются с ними в тексте. файлы. В таких случаях его часто называют «мягким» EOF, поскольку он не обязательно представляет физический конец файла, а скорее является маркером, указывающим, что «за пределами этой точки нет полезных данных». В действительности, помимо этого символа может существовать больше данных, вплоть до фактического конца данных в файловой системе, поэтому его можно использовать для скрытия содержимого файла, когда файл вводится на консоли или открывается в редакторах. Многие стандарты форматов файлов (например, PNG или Гифка ) включают в свои заголовки символ SUB для выполнения именно этой функции. Некоторые современные форматы текстовых файлов (например, CSV-1203[10]) по-прежнему рекомендуют добавлять завершающий символ EOF в качестве последнего символа в файле. Однако, набрав Контроль+Z не вставляет символ EOF в файл ни в ДОС или Windows, ни API в этих системах символ используется для обозначения фактического конца файла.

Некоторые языки программирования (например, Visual Basic ) не будет читать после "мягкого" EOF при использовании встроенных примитивов чтения текстового файла (INPUT, LINE INPUT и т. д.), и должны быть приняты альтернативные методы, например открытие файла в двоичном режиме или использование объекта файловой системы для выхода за его пределы.

Символ 26 использовался для обозначения «Конец файла», даже если ASCII называет это Substitute и имеет для этого другие символы. Число 28, которое называется "Разделитель файлов "также использовался в аналогичных целях.

Другое использование

В Unix операционных систем, этот символ обычно используется для приостановить интерактивный процесс, выполняющийся в данный момент.[11] Затем приостановленный процесс может быть возобновлен через передний план (интерактивный) режим или возобновить выполнение в фон режим, или быть прекращено. При вводе пользователем на своем компьютерный терминал, текущему запущенному процессу переднего плана отправляется "конечная остановка" (SIGTSTP ) сигнал, который обычно заставляет процесс приостанавливать свое выполнение. Позже пользователь может продолжить выполнение процесса, используя команду «переднего плана» (фг) или "фон "команда (bg).

Отчет о соображениях безопасности Unicode[12] рекомендует этот символ в качестве безопасной замены несопоставимых символов во время преобразования набора символов.

Во многих графических интерфейсах и приложениях Контроль+Z (⌘ Команда+Z в Mac OS) можно использовать для отменить последнее действие. Во многих приложениях предыдущие действия, чем последнее, также можно отменить, нажав Контроль+Z многократно. Контроль+Z был одним из немногих клавиатура последовательности, выбранные разработчиками программы на Xerox PARC контролировать редактирование текста. Предположительно именно эти нажатия клавиш были выбраны из-за их расположения на стандартном QWERTY клавиатура, так как Z (отменить), Икс (резать), C (копия), и V Клавиши (вставки) расположены вместе в левом конце нижнего ряда стандартной QWERTY-клавиатуры.

Представление

ASCII и Unicode представление «заменителя»:

  • Восьмеричный код: 32
  • Десятичный код: 26
  • Шестнадцатеричный код: 1A, U + 001A
  • Мнемонический символ: SUB
  • Двоичное значение: 11010

Смотрите также

Рекомендации

  1. ^ «Сочетания клавиш для Windows». Служба поддержки Microsoft. Microsoft. Получено 2012-06-02.
  2. ^ "Руководство по мультипрограммированию PDP-6" (PDF). Корпорация цифрового оборудования (DEC). 1965. с. 43. В архиве (PDF) из оригинала 2014-07-14. Получено 2014-07-10.
  3. ^ "Справочное руководство PDP-10, Книга 3, Связь с монитором" (PDF). Корпорация цифрового оборудования (DEC). 1969. с. 5-5. В архиве (PDF) из оригинала от 15.11.2011. Получено 2014-07-10.
  4. ^ Джон С. Эллиотт (1998). Форматы дисков CP / M 1.4. ([1] )
  5. ^ Джон С. Эллиотт (1998). Форматы дисков CP / M 2.2. ([2] )
  6. ^ «2. Соглашения о вызовах операционной системы». Руководство по интерфейсу CP / M 2.0 (PDF) (1-е изд.). Пасифик Гроув, Калифорния, США: Цифровые исследования. 1979. стр. 5. В архиве (PDF) из оригинала на 2020-02-28. Получено 2020-02-28. […] Конец ASCII файл обозначается Ctrl-Z символ (1AH) или реальный конец файла, возвращаемый CP / M читать операцию. Символы Control-Z, встроенные в файлы машинного кода (например, COM файлы ), однако, игнорируются, а условие конца файла, возвращаемое CP / M, используется для завершения операций чтения. […] (56 страниц)
  7. ^ Хоган, Том (1982). «3. Команды переходного процесса CP / M». Руководство пользователя Osborne CP / M - для всех пользователей CP / M (2-е изд.). Беркли, Калифорния, США: А. Осборн / Макгроу-Хилл. п.74. ISBN  0-931988-82-9. Получено 2020-02-28. […] CP / M знаменует конец ASCII файл, поместив КОНТРОЛЬ-z символ в файле после последнего символа данных. Если файл содержит точное число, кратное 128 символам, и в этом случае добавление CONTROL-Z приведет к потере 127 символов, CP / M этого не сделает. Использование символа CONTROL-Z в качестве маркер конца файла возможно, потому что CONTROL-z редко используется в качестве данных в файлах ASCII. Однако в файле, отличном от ASCII, CONTROL-Z встречается с такой же вероятностью, как и любой другой символ. Следовательно, его нельзя использовать в качестве маркера конца файла. CP / M использует другой метод для отметки конца файла, отличного от ASCII. CP / M предполагает, что он достиг конца файла, когда он прочитал последнюю запись (базовую единицу дискового пространства), выделенную для файла. Запись каталога диска для каждого файла содержит список дисковых записей, выделенных для этого файла. Этот метод зависит от размера файла, а не его содержимого, чтобы определить местонахождение конца файла. […] [3][4]
  8. ^ Джон С. Эллиотт (1998). Форматы дисков CP / M 3.1. ([5] )
  9. ^ Джон С. Эллиотт (1998). Форматы дисков CP / M 4.1. ([6] )
  10. ^ Спецификация формата CSV-1203 В архиве 2016-05-16 в Португальском веб-архиве
  11. ^ «Краткий справочник: команды Unix». IT Connect. Вашингтонский университет. Получено 2012-06-02.
  12. ^ Отчет о соображениях безопасности Unicode

дальнейшее чтение