Из Википедии, бесплатной энциклопедии
  (Перенаправлено с Control-Z )
Перейти к навигации Перейти к поиску

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

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

Использует [ редактировать ]

Конец файла [ править ]

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

В CP / M , 86-DOS , MS-DOS , PC DOS , DR-DOS и их различных производных символ SUB также использовался для обозначения конца символьного потока и тем самым использовался для завершения пользовательского ввода в интерактивном режиме. окно командной строки (и, как таковое, часто используется для завершения перенаправления ввода консоли, например, инициированное COPY CON: TYPEDTXT.TXT ).

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

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

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

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

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

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

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

Представительство [ править ]

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

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

См. Также [ править ]

  • Коды управления C0 и C1 ( ISO 646 )
  • U + FFFD
  • Ключ доступа
  • Ctrl-C
  • Control-G
  • Control-V
  • Control-X
  • Контроль-\
  • Сочетание клавиш
  • Список подписей файлов
  • тофу (значения) § характер тофу

Ссылки [ править ]

  1. ^ «Сочетания клавиш для Windows» . Служба поддержки Microsoft . Microsoft . Проверено 2 июня 2012 .
  2. ^ "Руководство по мультипрограммной системе PDP-6" (PDF) . Корпорация цифрового оборудования (DEC). 1965. с. 43. Архивировано (PDF) из оригинала на 2014-07-14 . Проверено 10 июля 2014 .
  3. ^ «Справочное руководство PDP-10, Книга 3, Связь с монитором» (PDF) . Корпорация цифрового оборудования (DEC). 1969. с. 5-5. Архивировано (PDF) из оригинала на 2011-11-15 . Проверено 10 июля 2014 .
  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) из оригинала 28.02.2020 . Проверено 28 февраля 2020 . […] Конец файла ASCII обозначается символом control-Z (1AH) или реальным концом файла, возвращаемым операцией чтения CP / M. Однако символы Control-Z, встроенные в файлы машинного кода (например, файлы COM ), игнорируются, и условие конца файла, возвращаемое CP / M, используется для завершения операций чтения. […] (56 страниц)
  7. Перейти ↑ Hogan, Thom (1982). «3. Команды переходного процесса CP / M». Osborne CP / M User Guide - Для всех пользователей CP / M (2-е изд.). Беркли, Калифорния, США: А. Осборн / Макгроу-Хилл . п. 74 . ISBN 0-931988-82-9. Проверено 28 февраля 2020 . […] CP / M отмечает конец файла ASCII , помещая в файл символ CONTROL-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. Архивировано 16 мая 2016 г. в Португальском веб-архиве.
  11. ^ «Краткий справочник: команды Unix» . IT Connect . Вашингтонский университет . Проверено 2 июня 2012 .
  12. ^ Отчет о соображениях безопасности Unicode

Дальнейшее чтение [ править ]

  • Федеральный стандарт 1037C
  • Справка: многоязычная поддержка