Bell character
A bell code (sometimes bell character) is a device control code originally sent to ring a small electromechanical bell on tickers and other teleprinters and teletypewriters to alert operators at the other end of the line, often of an incoming message. Though tickers punched the bell codes into their tapes,[1] printers generally do not print a character when the bell code is received. Bell codes are usually represented by the label "BEL
". They have been used since 1870 (initially in Baudot code).
To maintain backward compatibility, video display terminals (VDTs) that replaced teletypewriters included speakers or buzzers to perform the same function, as did the personal computers that followed. Modern terminal emulators often integrate the warnings to the desktop environment (e.g., the macOS Terminal will play the system warning sound) and also often offer a silent visual bell feature that flashes the terminal window briefly.
Representations
In ASCII and Unicode the character with the value 7 is BEL. It can be referred to as control-G or ^G in caret notation. Unicode also includes a character for the visual representation of the bell code, "symbol for bell" (␇) at U+2407
, not to mention U+237E
(⍾).
In the 5-bit Baudot codes, BEL is represented by the number 11 (0x0B
) when in "figures" mode.[2]
In the programming languages C (created in 1972) and Python (created in 1991), the bell character can be placed in a string or character constant with \a
. ('a' stands for "alert" or "audible" and was chosen because \b
was already used for the backspace character.)[3]
Usage
![](../I/Osborne_1_keyboard_closeup.jpg.webp)
On Unix-like systems, or on MS-DOS or Windows, a user can cause the equivalent of ringing the bell to happen by typing at the command prompt the command:
echo ^G
where the ^G is produced by holding down Ctrl and typing G. On Unix the user may need to type Ctrl+V first to "quote" the ^G.
On Linux or Mac OS X one may also use:
echo -e "\a"
and in the Bash shell, one may use ANSI-C quoting:[4]
echo $'\a'
An alternative is to use the tput command, which as a part of the ncurses library is available on most Unix/Linux operating systems:
tput bel
A program can get the same result by printing the BEL character to a terminal.
On modern systems this may not make a noise; it may instead make a visual indication such as flashing the screen, or do nothing at all.
See also
- C0 and C1 control codes (ISO 646)
References
- "Baudot". Archived from the original on December 19, 2008. Retrieved February 1, 2009.
- "The Lorenz Cipher and how Bletchley Park broke it". www.codesandciphers.org.uk. Retrieved 9 July 2016.
- "2. Lexical analysis — Python 2.7.18 documentation". docs.python.org. Retrieved 2021-02-05.
- ANSI-C quoting