The Baudot Code is an early example of a binary character code based on 5-bit values defining 32 different codewords. The invention of this code in 1870 by Emile Baudot marks a milestone in the history of telecommunications. More remarkably, radio communications had not yet been invented, nor any of the electronics that we normally associate with digital communications. Baudot envisaged an improved telegraph system where an operator would use a five-key keyboard to send individual characters efficiently by pressing combinations of the five keys. As technology advanced, the code invented by Baudot would be adapted for use throughout the next century, and his name is immortalized in the modern term baud.
The use of 5-bit codewords allows 26 alphabet letters (uppercase only); however, the clever use of the remaining codewords to include two control values FIGS and LTRS means that the same 5-bit codewords can be used to represent letters, numbers and punctuation. Whenever FIGS is encountered, all subsequent codewords are considered to be non-letters until LTRS is encountered. Baudot's invention also foreshadows the development of data compression techniques by sending messages containing more than 32 different characters while using an average of less than 6-bits per character.
In the 1930's, Baudot's code formed the basis for the CCITT ITA2 Code which became a standard for telecommunications for over 40 years. In North America, the same code with minor changes was called USTTY. The code was initially designed for use with electromechanical teleprinters sending and receiving messages at 45 bits per second, where start and stop bits accompany each character in an asychronous transmission. These devices were constructed long before the invention of transistors and data bits were shifted using mechnical timing wheels attached to electric motors. The 5-bit codewords were stored for transmission on punched paper tapes as shown below; electrical contacts extended through the punched holes as the paper was pulled through by another electric motor. Under these conditions, the use of short codewords is advantageous as timing and synchronization would not be practical with long codewords or at higher speeds.
In this example, the codeword for 'E' is the same as the codeword for '3' except that the first digit is preceded by the FIGS code. Similarly, the digit '5' and the letter 'T' share the same 5-bit codeword. Letters resume at the 'D' following the LTRS codeword.
One interesting aspect of this code is the way in which the characters were assigned to codewords. Look at your computer keyboard and note that the keys in the top row 'QWERTYUIOP' are directly below the digit keys '1234567890'. It is no coincidence that those are the LTRS and FIGS versions of these ten ITA2 codewords. Regularly spaced small holes provide a reference alignment and serve as sprocket holes so that a toothed wheel can pull the paper though a tape reader.
BINARY | PUNCHED PAPER TAPE | LETTERS | FIGURES (USTTY) | FIGURES (ITA2) | |||||||||
00000 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | NUL | NUL | NUL | ||||
00001 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | E | 3 | 3 | ||||
00010 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | LF | LF | LF | ||||
00011 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | A | - | - | ||||
00100 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | SP | SP | SP | ||||
00101 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | S | ' | ' | ||||
00110 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | I | 8 | 8 | ||||
00111 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | U | 7 | 7 | ||||
01000 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | CR | CR | CR | ||||
01001 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | D | ENQ | $ | ||||
01010 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | R | 4 | 4 | ||||
01011 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | J | BELL | ' | ||||
01100 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | N | , | , | ||||
01101 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | F | ! | ! | ||||
01110 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | C | : | : | ||||
01111 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | K | ( | ( | ||||
10000 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | T | 5 | 5 | ||||
10001 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Z | + | " | ||||
10010 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | L | ) | ) | ||||
10011 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | W | 2 | 2 | ||||
10100 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | H | # | # | ||||
10101 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Y | 6 | 6 | ||||
10110 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | P | 0 | 0 | ||||
10111 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Q | 1 | 1 | ||||
11000 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | O | 9 | 9 | ||||
11001 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | B | ? | ? | ||||
11010 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | G | & | & | ||||
11011 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | FIGS | FIGS | FIGS | ||||
11100 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | M | . | . | ||||
11101 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | X | / | / | ||||
11110 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | V | ; | ; | ||||
11111 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | LTRS | LTRS | LTRS |