The first widely used character code was the Morse Code, developed in 1838 by Samuel F. B. Morse (1791–1872). This two-symbol, dot-and-dash code is capable of representing the characters of the alphabet by varying the number of symbols between one and four. If one considers the symbols to be similiar to bits , then the number character set, 0 to 9, uses 1 to 5 bits.
In 1874 Jean-Maurice Émile Baudot (1845–1903) received a patent for a printing telegraph. He also introduced a code using 5 bits per character. Five bits can be combined in 32 different ways, enough for uppercase letters and a few control characters. To include the number set, Baudot devised a shift to another level, much as the Cap Lock on a keyboard. The shift provides the number set, punctuation symbols, and control character representations for the 32 separate, 5-bit combinations. The control characters include the carriage return and the line feed. All the control characters are present in either letter or figure shift mode. The letters were in the lower shift mode and the figures in the upper shift mode. Early teletype machines punched the messages into paper tapes and read tapes to send messages. Later, machines were designed to print out the messages in character form. Some teletypes for the hearing impaired in use today are based on the Baudot code.
Early computers used a version of Baudot's code called ITA2 a 6-bit code that had more control and format characters in addition to the uppercase letter and the ten numeric characters. The increase to 6 bits, or 64 combinations, eliminated the need for the shift control to switch from letter to numeric characters. There was no urgency to improve the character code by adding lowercase letters and more punctuation symbols, as computers were considered calculation machines. By the late 1950s, computers were used more widely for commercial purposes. The variation in the control character set from system to system was a drawback. The American Standards Association (ASA) developed a standardized code. The ASA is composed of various corporations, including IBM, AT&T, and an AT&T subsidiary, Teletype Corporation—manufacturer of the most widely used communications equipment.
In 1963 the first version of American Standard Code for Information Interchange (ASCII) was introduced. IBM waited until the 1980s to use it, while AT&T's immediate acceptance of it made ASCII the standard for communications. This new code was based on 7 bits, allowing for 128 characters in the character code table. This initial version did not have a lowercase letter set. It did include all the COBOL (COmmon Business-Oriented Language) graphics characters based on the earlier FIELDATA code used by the military, added more control characters such as a linefeed, and simplified some of the transmission control codes. Collating problems were solved by separating the number set from the letter set in the table, and ordering the letter set to allow collating by letter using simple arithmetic comparisons.
The next version of ASCII in 1967 included the lowercase letter set, FORTRAN graphic characters, square bracket, curly braces, and others. Control character changes were made and a small set of international characters was added. The control characters were relocated in the first half of the table. This version of ASCII remained the standard for thirty years.
Meanwhile, back at IBM, a different character code came into use. Why? Perhaps because the origin of IBM goes back to Herman Hollerith (1860–1929), the punched card , and the 6-bit character code. The early IBM mainframes used a 6-bit character code, or Binary Coded Decimal Interchange Code (BCDIC). In 1964 a proprietary code, Extended Binary Coded Decimal Interchange Code (EBCDIC), was created for use on IBM/360 mainframe computers. This 8-bit code was an extension of the earlier code. It included most of the characters in the ASCII code but with differing bit-string representations. For example, the ASCII representation of M is 01001101; the EBCDIC representation of M is 11010100.
Multiple versions of EBCDIC character code sets had to be created as the mainframe market spread throughout the world. Another difficulty arose when translating from or into ASCII. Because there was a difference in the character sets, the translation was slow and error-prone. The general trend is to convert EBCDIC data files into ASCII or other non-proprietary code formats.
In the 1980s, the growth of international business generated interest in a multilingual character code. The International Organization for Standardization (ISO) and a group of American computer firms started on methods to produce a universal character code set. Unicode, which gives a unique number to each character, resulted from merging the two efforts. It is still evolving and currently uses a single 256-by-256 grid that supports 65,236 character points and unifies similar characters, especially within the Asian languages. Unicode is supported by multiple industries and companies ranging from Apple Computer, Inc., IBM Corporation, and Hewlett Packard to Oracle, Microsoft Corporation, and Sun Microsystems. It is supported by operating systems and browsers. Unicode is capable of transporting data through many platforms without data corruption.
see also Binary Number System; Coding Techniques; Generations, Languages.
Bertha Kugelman Morimoto
Verstraete, Anthony A. "Data Communication: Early History and Evolution In-Depth." January 1998. <http://www.smeal.psu/misweb/datacomm/id/history1.html>
code / kōd/ • n. 1. a system of words, letters, figures, or other symbols substituted for other words, letters, etc., esp. for the purposes of secrecy. ∎ a system of signals, such as sounds, light flashes, or flags, used to send messages: Morse code. ∎ a series of letters, numbers, or symbols assigned to something for the purposes of classification or identification: the genetic code. 2. Comput. program instructions: hundreds of lines of code. 3. a systematic collection of laws or regulations: the criminal code. ∎ a set of conventions governing behavior or activity in a particular sphere a dress code. ∎ a set of rules and standards adhered to by a society, class, or individual: a stern code of honor. • v. 1. [tr.] (usu. be coded) convert (the words of a message) into a particular code in order to convey a secret meaning: only Mitch knew how to read the message—even the name was coded. ∎ express the meaning of (a statement or communication) in an indirect or euphemistic way: [as adj.] (coded) a national campaign against “playing by ear,” a coded phrase that meant jazz. ∎ assign a code to (something) for purposes of classification, analysis, or identification: she coded the samples and sent them down for dissection. 2. [intr.] (code for) Biochem. specify the genetic sequence for (an amino acid or protein): genes that code for human growth hormone. ∎ be the genetic determiner of (a characteristic): one pair of homologous chromosomes that codes for eye color. PHRASES: bring something up to code renovate an old building or update its features in line with the latest building regulations.DERIVATIVES: cod·er n.
1. A rule for transforming a message from one symbolic form (the source alphabet) into another (the target alphabet), usually without loss of information. The process of transformation is called encoding and its converse is called decoding. These processes are carried out by an encoder and a decoder respectively; the encoder and decoder may be implemented in hardware or software, the encoding and decoding processes being algorithmic in nature. The term “an encoding” is sometimes used synonymously with “a code”.
From a more formal viewpoint, a code is a one-to-one homomorphism h from the set of Σ-words, Σ1*, to the set Σ2*, where Σ1 and Σ2 are alphabets (see word, formal language). Since h is one to one, h(w) may be “decoded” to obtain w for any w in Σ1*.
See also fixed-length code, variable-length code, error-correcting code, error-detecting code, channel coding theorem, source coding theorem, cryptography.
2. Any piece of program text written in a programming language (as opposed to a data structure or algorithm illustrated by a diagram or flowchart, or a program specified or sketched out in natural language prose). The term sometimes implies executable code as opposed to declarations or tables, but this is by no means always the case. See also coding.
3. The particular language in which some code is written, e.g. machine code, source code.
A code name is a word or phrase used to refer secretly to a specific person, group, project, or plan of action. Individual spies and large-scale military operations are often referred to by code names to protect their identity. For example, the code name for the United States' project to produce an atomic bomb during World War II was "Manhattan Project," the codename for the U.S. plan to invade Okinawa on April 1, 1945 was "Iceberg," the Nazi German plan to invade England had the code name "Operation Sea Lion," and the code name of Spanish double agent Juan Pujol Garcia, who spied for the British while pretending to spy for the Nazis, was "Garbo." So common is the use of code names that an entire book has been devoted to cataloguing the code names used during World War II.
A code name is a particular type of code word. A code word is any word or phrase that has been chosen to signify a specific message while keeping that message hidden from a third party. Functional codes may contain thousands of code words, some of which may also be code names; however, a code name need not be part of a larger code. It may, in effect, be a code unto itself, comprised of only one word.
█ FURTHER READING:
Chant, Christopher. The Encyclopedia of Codenames of World War II. London: Routledge & Kegan Paul, 1986.
Mollin, Richard A. An Introduction to Cryptography. New York: Chapman & Hall 2001.
Singh, Simon. The Code Book. New York: Doubleday, 1999.
Codes and Ciphers
A code word is a word or phrase that is used to convey a predefined message that differs from its own literal meaning. For example, the code word IRONBOUND might be used to convey the message "meet by the river at midnight." If a number (e.g., 785) is used instead of a word, it is termed a code number. Both code words and code numbers are also termed code groups.
A code is comprised of a list of messages and the code groups that have been defined for them, usually written down in parallel columns in a codebook. To create or interpret messages in a code, one must have access to its codebook. One advantage of a code, as compared to a cipher, is that a single code group may contain a variable amount of information, even within a single code; the code word IRONBOUND, above, conveys a complete command, while another code word might stand either for a single word or for an entire plan of operation. This makes a well-designed code difficult to crack by examining captured messages for patterns.
Word codes, however, also have disadvantages. First and foremost, if a copy of the codebook falls into enemy hands, then the code becomes useless. Second, only ideas for which code words have been predefined can be communicated using a given code. For example, if a code book contains no code word for "noon," it may be impossible to convey the message, "meet by the river at noon." Codes are therefore limited in flexibility by the number of code words that can be fit into a code book of practical size, whereas ciphers can convey almost any written message.
█ FURTHER READING:
Mollin, Richard A. An Introduction to Cryptography. New York: Chapman & Hall, 2001.
Singh, Simon. The Code Book. New York: Doubleday, 1999.
Codes and Ciphers
1. A system of WORDS, LETTERS, SIGNS, sounds, lights, etc., that conveys information.
2. A system of letters or other signs that makes sense only to someone who already knows its key or cipher, and because of this can encode or decode a message.
3. In SOCIOLINGUISTICS, a system of communication, spoken or written, such as a LANGUAGE, DIALECT, or VARIEM. See SEMIOTICS and next.
- 1. the procedures and methods used in translating or interpreting codes and ciphers.
- 2. the science or study of such procedures. Also cryptanalytics . —cryptanalyst , n. —cryptanalytic, cryptanalytical , adj.
- a message or writing in code or cipher. Also cryptograph . —cryptogrammic , adj.
- cryptography, cryptology
- 1. the science or study of secret writing, especially codes and ciphers.
- 2. the procedures and methods of making and using codes and ciphers. —cryptographer, cryptographist , n. —cryptographic , adj.