Удалить персонажа
Символ удалением управления (также называемый DEL или Rubout ) — это последний символ в репертуаре ASCII с кодом 127 . [ 1 ] Предполагается, что он ничего не делает и предназначен для стирания неправильных символов на бумажной ленте . Он обозначается как ^? в обозначениях каретки и U+007F в Юникоде .
Эмуляторы терминала могут создавать DEL, когда ← Backspace ключ или Control+ ← Backspace или Control+ ? напечатаны.
История
[ редактировать ]· | НУЛЕВОЙ | ||||||||||
• | · | • | • | ЧР | |||||||
• | · | • | НЧ | ||||||||
• | • | • | • | · | • | • | • | ПРИНАДЛЕЖАЩИЙ | |||
• | · | СП | |||||||||
«Удалить» вместе с некоторыми другими управляющими символами ASCII и пробелом , как они появляются на перфоленте. |
Этот код изначально использовался для пометки удаленных символов на перфоленте , поскольку любой символ можно было заменить на все, пробив повсюду отверстия. Если символ был введен ошибочно, удаление всех семи битов приводило к игнорированию или удалению этой позиции. [ 2 ] [ 3 ] В шестнадцатеричном формате это 7F для стирания 7 бит ( FF для стирания 8 бит использовалось для 8-битных кодов). Этот символ также можно было использовать в качестве заполнения нулевой NUL для замедления печати после новой строки, хотя чаще использовался .
Телетайп модели 33 имел ключ с надписью RUB OUT пробить этот символ (после того, как пользователь сделал резервную копию ленты с помощью другой кнопки) и не предоставил ключ, создающий символ Backspace (BS). Поэтому ряд менее дорогих компьютерных систем, использовавших телетайпы, использовали этот ключ (и, следовательно, код удаления), чтобы игнорировать предыдущий неправильно набранный символ. Видеотерминалы, предназначенные для замены телетайпа, затем должны были размещать ключ, создающий этот код, там, где следовало ожидать Backspace, в частности, в продуктах Digital Equipment Corporation . На терминалах, совместимых с VT100 , это символ, генерируемый клавишей, обозначенной Delete. [ 4 ] [ 5 ] На более поздних терминалах, таких как VT510 , клавиша помечена как ⌫ (в руководстве называется backarrow [ 6 ] ) и по умолчанию отправляет DEL, но можно настроить отправку BS.
Другие терминалы, предназначенные для систем, в которых раньше не использовались телетайпы, обычно отправляли ключ в этом положении, что приводило к большой путанице. В Unix, в частности, была досадная проблема: ее можно было запрограммировать на стирание предыдущего символа только для одного из них (а не для обоих), что требовало от пользователя перенастройки драйвера терминала для каждой марки терминала. В зависимости от типа терминала, который использовал дизайнер, программное обеспечение иногда создавало ярлыки. Ctrl+ H или Ctrl+ ? сделать что-нибудь, даже если они отправили тот же код, что и BS и DEL, предполагая, что клавиша возврата отправляет другой код.
Ключ с пометкой Backspace ← который отправляет BS, является наиболее распространенным на современных терминалах и эмуляторах. Чтобы убедиться, что они не удаляются задом наперед, клавиша с пометкой «Удалить» на многих терминалах не отправляет DEL, а вместо этого отправляет escape-последовательность , например ^[[3~
. [ 7 ]
Текущее использование
[ редактировать ]Unix-подобные операционные системы все еще могут использовать его в качестве стереть символ, т.е. удалить предыдущий символ в линейном режиме . Драйвер терминала по-прежнему не может быть запрограммирован на использование одновременно этого и Backspace: необходимо выбрать одно. Однако большинство современных программ обходят это и используют библиотеки, такие как readline , которые принимают оба кода. Unix Большинство эмуляторов терминала можно настроить на отправку команды «Delete» или «Backspace» при нажатии клавиши Backspace. [ нужна ссылка ]
DOS / Windows никогда и никоим образом не использовали этот символ. Драйвер клавиатуры BIOS выдавал Backspace при вводе клавиши Backspace и NUL с кодом сканирования 0x53 при вводе клавиши удаления. [ 8 ] В Windows клавиша удаления соответствует VK_DELETE (0x2E). [ 9 ] Шрифты EGA/VGA , как шрифты, используемые консолью Win32 , обычно имеют символ «домика» ⌂ в кодовой точке 127 (0x7F), см. на кодовой странице 437 подробности . Однако его наследие можно увидеть в некоторых частях операционной системы Windows: например, Control+ ← Backspace в Microsoft Notepad используется для вставки символа удаления [ 10 ] пока в 2018 году его не изменили, чтобы удалить предыдущее слово. [ 11 ]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Винт Серф (16 октября 1969 г.). Формат ASCII для сетевого обмена . IETF . дои : 10.17487/RFC0020 . РФК 20 .
- ^ Роберт С. Мартин (2011). Чистый программист: Кодекс поведения для профессиональных программистов . Образование Пирсона . ISBN 9780132542883 .
- ^ Лафарр (18 августа 2006 г.). « Бумажная лента: первый обрабатываемый ввод-вывод» .
- ^ «Семейство видеотерминалов VT100» . vt100.net.
- ^ «Руководство пользователя VT100 – Глава 3 – Таблица 3-4 Коды функциональных клавиш» . vt100.net. Архивировано из оригинала 14 марта 2016 г. Проверено 12 апреля 2015 г.
- ^ «Информация о программаторе видеотерминала VT510 – Глава 5 – Функции управления ANSI» . vt100.net.
- ^ «Информация о программаторе видеотерминала VT510 – Глава 8 – Обработка клавиатуры» . vt100.net. Архивировано из оригинала 4 марта 2016 г. Проверено 12 апреля 2015 г.
- ^ «Код сканирования клавиатуры/комбинации кодов символов — PC DOS Retro» . Архивировано из оригинала 01 мая 2020 г. Проверено 19 апреля 2020 г.
- ^ «Коды виртуальных клавиш (Winuser.h) — приложения Win32» . 22 июня 2022 г.
- ^ «Ярлыки — Поведение Блокнота CTRL-Backspace» .
- ^ «Новый и улучшенный блокнот Windows 10: полезные советы и функции» . 23 ноября 2018 г.