Заменить символ (␚) является управляющим символом, который используется для прокладочных пустых символов в случае, если они должны быть отправлены в виде блоков фиксированного размера, и стоять на месте персонажа, который признается недействительными или ошибочными или непредставимо на данном устройстве. Он также используется как escape-последовательность в некоторых языках программирования.
В наборе символов ASCII этот символ кодируется числом 26 ( 1A в шестнадцатеричном формате ). Стандартные клавиатуры передают этот код, когда Ctrl и Z клавиши нажаты одновременно ( Ctrl + Z, в соответствии с соглашением часто описывается как ^ Z). Unicode кодирует этот символ, но рекомендует вместо него использовать заменяющий символ (, U + FFFD) для представления не декодируемых входных данных, если выходная кодировка совместима с ним.
Исторически сложилось так, что в мониторе PDP-6, RT-11, VMS и TOPS-10, а также в ранних операционных системах PC / M 1 и 2 (и производных, таких как MP / M ) необходимо было явно отмечать конец файла. (EOF), потому что файловая система CP / M сама по себе не может записать точный размер файла; файлы распределялись экстентами (записями) фиксированного размера, обычно оставляя некоторое выделенное, но неиспользуемое пространство в конце каждого файла. Это дополнительное пространство было заполнено 1A 16 ( шестнадцатеричными ) символами под CP / M. Расширенные файловые системы CP / M, используемые CP / M 3 и выше (и производные, такие как Concurrent CP / M, Concurrent DOS и DOS Plus ), действительно поддерживали файлы с побайтовой разбивкой, поэтому это больше не было требованием, но оставалось соглашение (особенно для текстовых файлов ) для обеспечения обратной совместимости.
В CP / M, 86-DOS, MS-DOS, PC DOS, DR-DOS и их различных производных символ SUB также использовался для обозначения конца символьного потока и тем самым использовался для завершения пользовательского ввода в интерактивном режиме. окно командной строки (и, как таковое, часто используется для завершения перенаправления ввода консоли, например, по инициативе COPY CON: TYPEDTXT.TXT).
Хотя технически больше не требуется указывать конец файла, многие текстовые редакторы и языки программ по-прежнему поддерживают это соглашение или могут быть настроены для вставки этого символа в конец файла при редактировании или, по крайней мере, правильно справляться с ними в тексте. файлы. В таких случаях его часто называют «мягким» EOF, поскольку он не обязательно представляет физический конец файла, а скорее является маркером, указывающим, что «за пределами этого места нет полезных данных». В действительности, помимо этого символа может существовать больше данных, вплоть до фактического конца данных в файловой системе, поэтому его можно использовать для скрытия содержимого файла, когда файл вводится на консоли или открывается в редакторах. Многие стандарты форматов файлов (например, PNG или GIF ) включают символ SUB в свои заголовки для выполнения именно этой функции. Некоторые современные форматы текстовых файлов (например, CSV-1203 ) по-прежнему рекомендуют добавлять завершающий символ EOF в качестве последнего символа в файле. Однако при вводе Control+ Zсимвол EOF не вставляется в файл ни в DOS, ни в Windows, и API этих систем не используют этот символ для обозначения фактического конца файла.
Некоторые языки программирования (например, Visual Basic ) не будут читать после «мягкого» EOF при использовании встроенных примитивов чтения текстового файла (INPUT, LINE INPUT и т. Д.), И должны быть приняты альтернативные методы, например, открытие файла в двоичном режиме или используя объект файловой системы, чтобы продвинуться дальше.
Символ 26 использовался для обозначения «Конец файла», хотя ASCII называет этот символ Заместителем и имеет другие символы для обозначения «Конец файла». Номер 28, который называется « Разделитель файлов », также использовался для аналогичных целей.
В операционных системах Unix этот символ обычно используется для приостановки текущего интерактивного процесса. Затем приостановленный процесс можно возобновить в режиме переднего плана (интерактивном), либо заставить его возобновить выполнение в фоновом режиме, либо завершить. Когда пользователь входит в систему на своем компьютерном терминале, в текущий запущенный процесс переднего плана отправляется сигнал «терминальная остановка» ( SIGTSTP ), который обычно заставляет процесс приостанавливать свое выполнение. Позже пользователь может продолжить выполнение процесса, используя команду «переднего плана» ( fg
) или команду « фон » ( bg
).
В отчете о соображениях безопасности Unicode этот символ рекомендуется в качестве безопасной замены несопоставимых символов во время преобразования набора символов.
Во многих графических интерфейсах и приложениях Control+ Z( ⌘ Command+ Zв Mac OS) можно использовать для отмены последнего действия. Во многих приложениях предыдущие действия, чем последнее, также можно отменить, нажав Control+ Zнесколько раз. Control+ Zбыла одной из немногих клавиатурных последовательностей, выбранных разработчиками программы в Xerox PARC для управления редактированием текста.
ASCII и Unicode представление «заменителя»: