It is said that the first character encodings, ASCII and EBCDIC, appeared in 1963.

My question: What character encodings preceded them? Did computer process characters before 1963?

In particular, compilers for first high-level programming languages (FORTRAN, Algol, COBOL) appeared before 1963. How did they process characters (source code)? What character encodings did they use?


Morse code is one encoding that was used before ASCII. After that, the Baudot code appeared:

From Wikipedia:

The Baudot code, a 5-bit encoding, was created by Émile Baudot in 1870, patented in 1874, modified by Donald Murray in 1901, and standardized by CCITT as International Telegraph Alphabet No. 2 (ITA2) in 1930.

From A Brief History of Character Codes:

The next great leap in telegraph technology was a primitive printing telegraph, or "teleprinter," patented by Jean-Maurice-Émile Baudot (1845-1903) in France in 1874. Like Morse's telegraph, it involved the creation of a new character code, the 5-bit Baudot code, which was also the world's first binary character code for processing textual data. Messages encoded in Baudot's code were printed out on narrow two-channel transmission tapes by operators who created them using a special five-key keypad, although in later versions typewriter keyboards that automatically generated the proper five-unit sequences were employed. Another interesting feature of Baudot's teleprinter system was that it was a "multiplex" system that allowed up to six operators to share a single telegraph line using a time division system. This led to a considerable increase in the transmission capacity of a telegraph line. Baudot's system proved to be fairly successful, and it remained in widespread use in the 20th century until it was displaced by the telephone, and, of course, personal computer communications.

After that, Herman Hollerith came up with the concept of punched cards - another form of data/character encoding.

Again from A Brief History of Character Codes (emphasis mine):

The end of the 19th century saw the creation of another character code, this one invented in the United States for the purpose of tabulating census data. It was created by a young American inventor named Herman Hollerith (1860-1929), who was hired by the U.S. Census Bureau in 1880 as a statistician after graduating from Columbia School of Mines in New York in 1879; and it was to have far reaching effects that lasted into the golden era of mainframe computers in the 1970s. Hollerith was none other than the creator of the Hollerith code, a character code for encoding alphanumeric data on the "punched [or punch] card," which introduced one of the first geek expressions to the American masses--"do not fold, spindle, or mutilate," an expression that left many Americans with the impression that computers were soon to take control of their society.

| improve this answer | |
  • 1
    Question specifically mentions computers... Did you find any evidence that Morse code was ever used by computers for internal character encoding? – haimg Jan 16 '13 at 19:56
  • @haimg: No, I just thought it was relevant to illustrate the development :) – Der Hochstapler Jan 16 '13 at 22:02
  • Morse code is not really a BINARY character set standard, nor a standard originally involving computers. DIT, DAH and a space, are detected by a human. These days a COMPUTER can do that job (use FLDIGI, and attach a radio to your sound-card for example), but CW is not truly a BINARY DIGITAL Character Set. It is an information modulating system covering the alphabet though. So close. – Warren P Apr 15 '14 at 20:10

Since teleprinters and teletypes were used by these earlier machines, I think Baudot codes were used, since they are the native encoding used by most teleprinters:

The Baudot code, invented by Émile Baudot, is a character set predating EBCDIC and ASCII. It was the predecessor to the International Telegraph Alphabet No. 2 (ITA2), the teleprinter code in use until the advent of ASCII.

| improve this answer | |
  • And baudot's 1870 code is a form of Bacon's cipher (15th century) which was used for mechanical encryption, but not computing or telecommunication. – Warren P Jan 16 '13 at 19:15

Your question assumes perhaps that something can't be used until it's formalized. Quite the opposite is true. Things are sometimes formalized AFTER they have become widely used.

Early computers processed characters as groups of binary digits (6 bits, 7 bits, or 8 bits), as provided for in those early peripheral systems, such as teleprinters, card punches, punched tape readers and writers, etc. Many card punches were used for input of software programs, and these punches used a six bit binary set of codes, encoded as holes in a punched card. If you had 20 early machines, each individual card punch machine or computer might have had it's own completely non-standard encoding for those codes. Hollerith, an early innovator, had its own format, as did others. I guess Baudot code wins over holleriths cards (Baudot 1870, Hollerith 1890).

In the IBM world, EBCDIC formally codified (in 1963) what predated it considerably, if you consider that the punch card peripherals that used the same six-bit-binary-codepoints that were later codified as EBCDIC, started in the late 1950s. Similarly there must have been proto-ASCII terminal or teletype devices in use, prior to them being formally codified.

A standard character set starts out as a single device, which then becomes an ad-hoc standard, which others follow on with, and which later gets called EBCDIC, or ASCII.

So in addition to whatever early teleprinters used, the various binary encoding formats used in card-punches could be considered. As some people have said, the teletype, though it predates the computer, also needs encodings for characters, although the morse code system is not strictly comparable to those systems in use in digital computing. The morse code system was intended for a human to human communication over radio or wired teletype.

This is how Wikipedia says the same thing:

EBCDIC descended from the code used with punched cards and the corresponding six bit binary-coded decimal code used with most of IBM's computer peripherals of the late 1950s and early 1960s.

| improve this answer | |

Another earlier code was BCDIC (Binary Coded Decimal Interchange Code), it is 6 bit Code used on several early computers (CDC etc) EBCIDIC is the 8 bit extension of BCIDIC, the E in EBCIDIC stands for extended.

This site http://newbie-bloging.blogspot.com.au/2011/03/ascii-kode.html lists Buadot and EBCIDIC codes

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.