博多式电报机
博多式电报机是法国人埃米尔‧博多于1874年发明的“印字电报机”。主要特点是字符用5比特编码,采用两个字符集。
博多码
博多发明的电报装置,发报方通过一个类似于钢琴键盘样的装置输入报文。该装置上面有5个键,发报者的左手控制2个键,右手控制另外3个键。这样5个键在某个时刻的各自的按下/复原状态,可以表示2的5次方即32个状态之一,因此该装置可以直接输入32个字符。能容下拉丁字母表的26个字母。但是,为了解决10个数字与十几个标点符号的输入问题,博多的解决办法是使用两套各自含31个元素的字符集,第一个字符集主要表示字母表,以及一个切换到第二个字符集的符号;第二个字符集表示10个阿拉伯数字及标点符号,以及一个切换到第一个字符集的符号;不共用切換符號。除了切換符號,又共用了兩個空白符號和兩個換行符號。这样两个字符集总共能表示58多个博多码(Baudot code)。
收报方的机器自动译码,直接在纸带(paper strip)上印出可供人直接阅读的报文内容。
博多为何不直接设计一个6位编码(即6键输入)的字符集来直接表示64个字符?答案是在没有电子计算机的年代,电报的自动编码、译码装置是纯机械式的。5个输入键的装置的内部编解码的机械设计已经很复杂了,搞成6路编解码就会因过于复杂而成本上启、可靠性大为下降。
电传打字机
1899年,美国人Donald Murray发明了类似于标准打字机的电报输入设备。这就是“电传打字机”(teletype/teleprinter)。这使得只要是会用传统打字机的普通人,就可以用接入电报网路的电传打字机直接交流。Murray发明的电传打字机的输出是穿孔纸带。穿孔纸带可以由电报机自动发报。字符在穿孔纸带上的编码还是采取了博多提出的5比特、双字符集的办法。但根据字符出现频率而改进了编码方案,使得高频率字符只需要尽可能少的纸带打孔,而低频率字符就需要在纸带上打孔较多。例如,字母T仅需要打1个孔来表示;而字母Q需要打4个孔来表示。
ITA2码
Murray的这套编码于1930年代被CCITT标准化为國際電報字母表第2號(the International Telegraph Alphabet No. 2,ITA2),一直使用到1963年被7比特的ASCII码取代。
Pattern of impulses 1=mark 0=space |
字母集 | 数字标点符号集 | |
---|---|---|---|
大端序 | 小端序 | ||
00000 | 00000 | Null | Null |
00100 | 00100 | Space | Space |
10111 | 11101 | Q | 1 |
10011 | 11001 | W | 2 |
00001 | 10000 | E | 3 |
01010 | 01010 | R | 4 |
10000 | 00001 | T | 5 |
10101 | 10101 | Y | 6 |
00111 | 11100 | U | 7 |
00110 | 01100 | I | 8 |
11000 | 00011 | O | 9 |
10110 | 01101 | P | 0 |
00011 | 11000 | A | – |
00101 | 10100 | S | Bell |
01001 | 10010 | D | $ |
01101 | 10110 | F | ! |
11010 | 01011 | G | & |
10100 | 00101 | H | # |
01011 | 11010 | J | ' |
01111 | 11110 | K | ( |
10010 | 01001 | L | ) |
10001 | 10001 | Z | " |
11101 | 10111 | X | / |
01110 | 01110 | C | : |
11110 | 01111 | V | ; |
11001 | 10011 | B | ? |
01100 | 00110 | N | , |
11100 | 00111 | M | . |
01000 | 00010 | Carriage return | Carriage return |
00010 | 01000 | Line feed | Line feed |
11011 | 11011 | Shift to figures | |
11111 | 11111 | Shift to letters |
ITA2是5比特编码,包括字母集("letter shift",LTRS)与数字标点符号集两个字符集("figure shift",FIGS)。在FIGS字符(码位为1B)后的字符都在数字标点符号集中解读,直到遇到LTRS字符(码位为1F)。LTRS字符后的字符都在字母集中解读,直到遇到FIGS字符为止。
俄语博多码
由于西里尔字母表比较大,所以俄语的博多码(MTK-2)使用3个5比特编码的字符集,分别表示:
- 拉丁字母表
- 西里尔字母表的大部分
- 少量西里尔字母与阿拉伯数字
参考文献
- dataIP Limited. . [9 October 2010]. (原始内容存档于2010年8月26日)