Bell character explained

A bell character (sometimes bell code) 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 the Baudot code).[2]

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 the bell character's value is 7 and is named "BELL" or "BEL". Unicode does not give names to control characters but has assigned it the alias "ALERT" and abbreviation "BEL." It can sometimes be typed as and displayed as in caret notation. Unicode also includes characters for the visual representation of the character: and .

In the 5-bit Baudot codes, BEL is represented by the number 11 (0x0B) when in "figures" mode.[3] The code is used in EBCDIC.

In the programming language C (created in 1972), and in many languages influenced by it such as Python, 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.[4]

Usage

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 is produced by holding down and typing . On Unix the user may need to type + first to "quote" the .

On POSIX systems, one may also use:

printf '\a'

and in the Bash shell, one may use ANSI-C quoting:[5]

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

References

Notes and References

  1. Web site: Baudot . February 1, 2009 . dead . https://web.archive.org/web/20081219135647/http://chem.ch.huji.ac.il/history/baudot.html . December 19, 2008 .
  2. Web site: Smith . Gil . Teletype Communication Codes . Baudot.net . 2001 . 2008-07-11. https://web.archive.org/web/20080820043949/http://www.baudot.net/docs/smith--teletype-codes.pdf. 20 August 2008 . live.
  3. Web site: The Lorenz Cipher and how Bletchley Park broke it. www.codesandciphers.org.uk. 9 July 2016.
  4. Web site: 2. Lexical analysis — Python 2.7.18 documentation. 2021-02-05. docs.python.org.
  5. https://www.gnu.org/software/bash/manual/bash.html#ANSI_002dC-Quoting ANSI-C quoting