A Proposal for Character Code Compatibility --
the Original Paper on the ESCape character

Computer History Vignettes

A Proposal for Character Code Compatibility
R. W. Bemer, I.B.M. Corporation, White Plains, N. Y.

Note 1: This paper [1] (published in 1960) being difficult for most people to obtain, it is copied here verbatim. The last two paragraphs are from page 72, which I did not have. Furnished by Eric Fischer, that noted chronicler of character sets and their devices. Imagine him having this 1960 paper at home!

The emergence of a single standard from a welter of competing precedents depends upon two solutions:

  1. selection or development of an adequate and logical standard.
  2. phasing out (or peaceful coexistence with) the old varieties.

This paper deals with the latter problem and proposes the mechanics for a solution in the area of character codes, represented by bit combinations.

It appears impossible to reconcile the many different codes in use on paper or magnetic tape such that a particular code could be the national or international standard. Because of the wide usage of various codes they must be considered parallel standards subject to atrophy through adoption of a single superior code. A simple device that I call the "escape" character will allow as many separate and graded standards as there are bit combinations on any number of tracks, although it is certainly not (sensible?) to have more of these than absolutely necessary.

Given T character tracks (not feed, parity, or control tracks) there are 2 (power T) possible code combinations. Normally these are all assigned to specific characters or controls. I propose that one of these combinations, the same one for all standards, be reserved as an "escape" character. This is to be excluded from every such set of characters assigned.

Regarding the choice of this character, it is unwise to use a null, or absence of punches or bits. Furthermore, it is quite possible that the physical permutation of tracks on tape will not be in direct correspondence with the bit pattern of internal storage in a computer or data-processing device. The only code that avoids these difficulties is the completely punched combination, or all ones in the bit structure.

Let us make provision for this "escape" combination to interrupt normal decoding of a stream of characters. It will say, in effect, that "The next T-bit combination is to be considered a numeric identifier of a particular standard". From then on, until interrupted by an "escape" character in that set, all combinational T-bit characters will be interpreted according to that standard. Shifting from one standard to another is therefore dynamic. A great additional advantage of such a scheme is that many messages in several different codes may be adjoined in the stream of transmission. In hardware, the "escape" character can be made to interrupt to set relays or other switching devices to select one of a variety of readers or decoders.

Another way to view this mechanism is as a two-character shift symbol, comprised of a common symbol and an identifier number. If such numbers are limited to exclude the "escape" combination itself, then two or more "escape" symbols in sequence will permit a still further variety of standards (or, technically, sub-standards). This is a recursive property.

Admittedly there is some difficulty in applying this principle to most existing codes. For example, the Baudot 5-track code for paper tape already has the "escape" combination assigned to "Letter Shift." Fieldata code has this same drawback, at least in the August 1959 version, in that this code is assigned to the letter Z and to Backspace. Although the 5-track teletype codes are virtually impossible to reconcile in this manner, it is suggested that all future codes of 6 or more tracks carry this "escape" provision as a built-in safeguard against obsolescence.

Note 2: Obviously the code development committees persisted in the original use of all 1's as a delete character, mostly because paper tape as an I/O medium had not then lost most of its usage.

Note 3: The first appearance of ESCape as a real character was in [2] but the code that showed it was then still theoretical.

REFERENCES

  1. R.W.Bemer, "A proposal for character code compatibility",
    Commun. ACM 3, No. 2, 71-72 (1960 Feb)
  2. R.W.Bemer, F.A.Williams, "Survey of coded character representation",
    Commun. ACM 3, No. 12, 639-641, 1960 Dec
Back to History Index            Back to Home Page