Символ звонка (иногда код звонка ) — это код управления устройством, первоначально отправляемый для звонка в небольшой электромеханический звонок на тиккерах и других телепринтерах и телетайпах, чтобы предупредить операторов на другом конце линии, часто о входящем сообщении. Хотя тикеры вбивают коды звонков в свои ленты, [1] принтеры обычно не печатают символ при получении кода звонка. Коды звонков обычно обозначаются меткой " BEL
". Они использовались с 1870 года (первоначально в кодексе Бодо ). [2]
Для обеспечения обратной совместимости видеодисплейные терминалы (VDT), пришедшие на смену телетайпам, включали в себя динамики или зуммеры, выполняющие ту же функцию, что и последующие персональные компьютеры. Современные эмуляторы терминала часто интегрируют предупреждения в среду рабочего стола (например, терминал macOS воспроизводит звуковой сигнал системного предупреждения), а также часто предлагают функцию тихого визуального звонка , который на короткое время мигает окно терминала.
В ASCII значение символа колокольчика равно 7 и называется «BELL» или «BEL». Unicode не дает имен управляющим символам, но присвоил им псевдоним «ALERT» и аббревиатуру «BEL». Иногда его можно набрать как ctrl+ Gи отобразить как ^G в обозначениях каретки . Юникод также включает символы для визуального представления символа: U+2407 ␇ СИМВОЛ ЗВОНКА и U+237E ⍾ СИМВОЛ ЗВОНКА .
В 5-битных кодах Бодо BEL обозначается числом 11 ( 0x0B
) в «цифровом» режиме. [3] Код 0x2F используется в EBCDIC .
В языке программирования C (созданном в 1972 году) и во многих языках, на которые он повлиял, например, в Python , символ колокольчика можно поместить в строку или символьную константу с помощью \a
. «a» означает «предупреждение» или «звуковой» и был выбран потому, что \b
уже использовался для символа возврата . [4]
В Unix-подобных системах, MS-DOS или Windows пользователь может вызвать эквивалент звонка, набрав в командной строке команду:
эхо ^G
где ^G создается путем удержания и ввода . В Unix пользователю может потребоваться сначала ввести +, чтобы «цитировать» ^G .CtrlGCtrlV
В системах POSIX можно также использовать:
printf '\a'
а в оболочке Bash можно использовать цитирование ANSI-C: [5]
эхо $'\a'
Альтернативой является использование команды tput , которая как часть библиотеки ncurses доступна в большинстве операционных систем Unix/Linux:
тпут бел
Программа может получить тот же результат, выведя на терминал символ BEL.
В современных системах это может не вызывать шума; Вместо этого он может отображать визуальную индикацию, например мигание экрана, или вообще ничего не делать.