All operations

Baudot (ITA2)

Five bits per character, and a shift code that decides which alphabet you are reading.

What is loaded above

The message opens with RYRYRY. R is 01010 and Y is 10101, so every one of the five bits changes state between them. Operators sent the pattern to prove out a circuit, and RTTY operators still send it.

Then look either side of the digits. The code 11011 sits immediately before 1400 and puts the machine into figures. The 11111 further along puts it back into letters, which is the only reason GMT prints as GMT. Read those three codes in figures and they say &.5.

The shift, and losing it

Five bits reach thirty-two combinations, and letters, digits, punctuation and control codes do not fit into thirty-two. Two of the combinations are spent on the switches instead of characters. There is no lower case in the code at all.

Lose one shift to line noise and every character after it comes out of the wrong table, to the end of the message. Operators answered by re-sending the letters shift far more often than the text required, and many receivers were wired to unshift on space. Nothing here does that: a shift goes out only when a character needs one, and a space leaves the machine wherever it was.

Where it came from

Émile Baudot’s printing telegraph was patented in France on 17 June 1874 and played on five keys as a chord, two under the left hand and three under the right. Donald Murray rebuilt it in 1901 around a typewriter keyboard, reassigning the codes so frequent characters punched fewer holes and wore the machinery less. Murray’s line became International Telegraph Alphabet No. 2, which carried telex traffic for the rest of the century. The baud takes its name from Baudot.

The settings

Figures row. Four slots were left to national use, and American teletypes filled them with $, !, & and #. Where ITA2 carries + and =, the American row carries " and ;. Pick the wrong variant and the letters come back right while the punctuation comes back wrong.

Bit order. Documentation and hardware disagree about which end of a code goes first, so A is 00011 under one convention and 11000 under the other. When a decode returns nonsense, flip this first.

Write codes as. Binary prints the five bits, decimal prints a number from 0 to 31, and decoding takes either. Characters neither table can represent are dropped, and text is upper-cased before encoding.

Morse code solved the same problem a lifetime earlier with variable-length codes a person had to hear. Binary shows the eight-bit world that replaced this one.