Incommunicationsandinformation processing,codeis a system of rules to convertinformation—such as aletter,word,sound, image, orgesture—into another form, sometimesshortenedorsecret,for communication through acommunication channelor storage in astorage medium.An early example is an invention oflanguage,which enabled a person, throughspeech,to communicate what they thought, saw, heard, or felt to others. But speech limits the range of communication to the distance a voice can carry and limits the audience to those present when the speech is uttered. The invention ofwriting,which converted spoken language intovisualsymbols,extended the range of communication across space andtime.

The process ofencodingconverts information from asourceinto symbols for communication or storage.Decodingis the reverse process, converting code symbols back into a form that the recipient understands, such as English or/and Spanish.

One reason for coding is to enable communication in places where ordinaryplain language,spoken or written, is difficult or impossible. For example,semaphore,where the configuration offlagsheld by a signaler or the arms of asemaphore towerencodes parts of the message, typically individual letters, and numbers. Another person standing a great distance away can interpret the flags and reproduce the words sent.

Theory

Ininformation theoryandcomputer science,a code is usually considered as analgorithmthat uniquely representssymbolsfrom some sourcealphabet,byencodedstrings, which may be in some other target alphabet. An extension of the code for representing sequences of symbols over the source alphabet is obtained by concatenating the encoded strings.

Before giving a mathematically precise definition, this is a brief example. The mapping

is a code, whose source alphabet is the setand whose target alphabet is the set.Using the extension of the code, the encoded string 0011001 can be grouped into codewords as 0 011 0 01, and these in turn can be decoded to the sequence of source symbolsacab.

Using terms fromformal language theory,the precise mathematical definition of this concept is as follows: let S and T be two finite sets, called the source and targetalphabets,respectively. Acodeis atotal functionmapping each symbol from S to asequence of symbolsover T. Theextensionof,is ahomomorphismofinto,which naturally maps each sequence of source symbols to a sequence of target symbols.

Variable-length codes

In this section, we consider codes that encode each source (clear text) character by acode wordfrom some dictionary, andconcatenationof such code words give us an encoded string. Variable-length codes are especially useful when clear text characters have different probabilities; see alsoentropy encoding.

Aprefix codeis a code with the "prefix property": there is no valid code word in the system that is aprefix(start) of any other valid code word in the set.Huffman codingis the most known algorithm for deriving prefix codes. Prefix codes are widely referred to as "Huffman codes" even when the code was not produced by a Huffman algorithm. Other examples of prefix codes arecountry calling codes,the country and publisher parts ofISBNs,and the Secondary Synchronization Codes used in theUMTSWCDMA3G Wireless Standard.

Kraft's inequalitycharacterizes the sets of codeword lengths that are possible in a prefix code. Virtually any uniquely decodable one-to-many code, not necessarily a prefix one, must satisfy Kraft's inequality.

Error-correcting codes

Codes may also be used to represent data in a way more resistant to errors in transmission or storage. This so-callederror-correcting codeworks by including carefully crafted redundancy with the stored (or transmitted) data. Examples includeHamming codes,Reed–Solomon,Reed–Muller,Walsh–Hadamard,Bose–Chaudhuri–Hochquenghem,Turbo,Golay,algebraic geometry codes,low-density parity-check codes,andspace–time codes. Error detecting codes can be optimised to detectburst errors,orrandom errors.

Examples

Codes in communication used for brevity

A cable code replaces words (e.g.shiporinvoice) with shorter words, allowing the same information to be sent with fewercharacters,more quickly, and less expensively.

Codes can be used for brevity. Whentelegraphmessages were the state of the art in rapid long-distance communication, elaborate systems ofcommercial codesthat encoded complete phrases into single mouths (commonly five-minute groups) were developed, so that telegraphers became conversant with such "words" asBYOXO( "Are you trying to weasel out of our deal?" ),LIOUY( "Why do you not answer my question?" ),BMULD( "You're a skunk!" ), orAYYLU( "Not clearly coded, repeat more clearly." ).Code wordswere chosen for various reasons:length,pronounceability,etc. Meanings were chosen to fit perceived needs: commercial negotiations, military terms for military codes, diplomatic terms for diplomatic codes, any and all of the preceding for espionage codes. Codebooks and codebook publishers proliferated, including one run as a front for the AmericanBlack Chamberrun byHerbert Yardleybetween the First and Second World Wars. The purpose of most of these codes was to save on cable costs. The use of data coding fordata compressionpredates the computer era; an early example is the telegraphMorse codewhere more-frequently used characters have shorter representations. Techniques such asHuffman codingare now used by computer-basedalgorithmsto compress large data files into a more compact form for storage or transmission.

Character encodings

Character encodings are representations of textual data. A given character encoding may be associated with a specific character set (the collection of characters which it can represent), though some character sets have multiple character encodings and vice versa. Character encodings may be broadly grouped according to the number of bytes required to represent a single character: there are single-byte encodings,multibyte(also called wide) encodings, andvariable-width(also called variable-length) encodings. The earliest character encodings were single-byte, the best-known example of which isASCII.ASCII remains in use today, for example inHTTP headers.However, single-byte encodings cannot model character sets with more than 256 characters. Scripts that require large character sets such asChinese, Japanese and Koreanmust be represented with multibyte encodings. Early multibyte encodings were fixed-length, meaning that although each character was represented by more than one byte, all characters used the same number of bytes ( "word length" ), making them suitable for decoding with a lookup table. The final group, variable-width encodings, is a subset of multibyte encodings. These use more complex encoding and decoding logic to efficiently represent large character sets while keeping the representations of more commonly used characters shorter or maintaining backward compatibility properties. This group includesUTF-8,an encoding of theUnicodecharacter set; UTF-8 is the most common encoding of text media on the Internet.

Genetic code

Biologicalorganisms contain genetic material that is used to control their function and development. This isDNA,which contains units namedgenesfrom whichmessenger RNAis derived. This in turn producesproteinsthrough agenetic codein which a series of triplets (codons) of four possiblenucleotidescan be translated into one of twenty possibleamino acids.A sequence of codons results in a corresponding sequence of amino acids that form a protein molecule; a type of codon called astop codonsignals the end of the sequence.

Gödel code

Inmathematics,aGödel codewas the basis for the proof ofGödel'sincompleteness theorem.Here, the idea was to mapmathematical notationto anatural number(using aGödel numbering).

Other

There are codes using colors, liketraffic lights,thecolor codeemployed to mark the nominal value of theelectrical resistorsor that of the trashcans devoted to specific types of garbage (paper, glass, organic, etc.).

Inmarketing,couponcodes can be used for a financial discount or rebate when purchasing a product from a (usual internet) retailer.

In military environments, specific sounds with thecornetare used for different uses: to mark some moments of the day, to command the infantry on the battlefield, etc.

Communication systems for sensory impairments, such assign languagefor deaf people andbraillefor blind people, are based on movement or tactile codes.

Musical scoresare the most common way to encodemusic.

Specific games have their own code systems to record the matches, e.g.chess notation.

Cryptography

In thehistory of cryptography,codeswere once common for ensuring the confidentiality of communications, althoughciphersare now used instead.

Secret codes intended to obscure the real messages, ranging from serious (mainlyespionagein military, diplomacy, business, etc.) to trivial (romance, games) can be any kind of imaginative encoding:flowers,game cards, clothes, fans, hats, melodies, birds, etc., in which the sole requirement is the pre-agreement on the meaning by both the sender and the receiver.

Other examples

Other examples of encoding include:

Other examples of decoding include:

Codes and acronyms

Acronymsand abbreviations can be considered codes, and in a sense, alllanguagesandwriting systemsare codes for human thought.

International Air Transport Association airport codesare three-letter codes used to designate airports and used forbag tags.Station codesare similarly used on railways but are usually national, so the same code can be used for different stations if they are in different countries.

Occasionally, a code word achieves an independent existence (and meaning) while the original equivalent phrase is forgotten or at least no longer has the precise meaning attributed to the code word. For example, '30' was widely used injournalismto mean "end of story", and has been used inother contextsto signify "the end".[1] [2]

See also

References

  1. ^Kogan, Hadass"So Why Not 29"Archived2010-12-12 at theWayback MachineAmerican Journalism Review. Retrieved 2012-07-03.
  2. ^"Western Union" 92 Code "& Wood's" Telegraphic Numerals "".Signal Corps Association. 1996.Archivedfrom the original on 2012-05-09.Retrieved2012-07-03.

Further reading

  • Codes and Abbreviations for the Use of the International Telecommunication Services(2nd ed.). Geneva, Switzerland: International Telecommunication Union. 1963.OCLC13677884.