Code
This articleneeds additional citations forverification.(March 2010) |
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 sourceAlpha bet,byencodedstrings, which may be in some other target Alpha bet. An extension of the code for representing sequences of symbols over the source Alpha bet 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 Alpha bet is the setand whose target Alpha bet 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 targetAlpha bets,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:
- Encoding (incognition) - a basic perceptual process of interpreting incoming stimuli; technically speaking, it is a complex, multi-stage process of converting relatively objective sensory input (e.g., light, sound) into a subjectively meaningful experience.
- Acontent format- a specific encoding format for converting a specific type ofdatatoinformation.
- Text encoding uses amarkup languageto tag the structure and other features of a text to facilitate processing by computers. (See alsoText Encoding Initiative.)
- Semantics encodingof formal language A informal language B is a method of representing all terms (e.g. programs or descriptions) of language A using language B.
- Data compressiontransforms a signal into a code optimized fortransmissionorstorage,generally done with acodec.
- Neural encoding- the way in which information is represented inneurons.
- Memory encoding- the process of converting sensations into memories.
- Television encoding:NTSC,PALandSECAM
Other examples of decoding include:
- Decoding (computer science)
- Decoding methods,methods in communication theory for decoding codewords sent over a noisy channel
- Digital signal processing,the study of signals in a digital representation and the processing methods of these signals
- Digital-to-analog converter,the use of analog circuit for decoding operations
- Word decoding, the use ofphonicsto decipher print patterns and translate them into the sounds of language
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
- ADDML
- Asemic writing
- Cipher
- Code (semiotics)
- Equipment codes
- Quantum error correction
- Semiotics
- Universal language
References
- ^Kogan, Hadass"So Why Not 29"Archived2010-12-12 at theWayback MachineAmerican Journalism Review. Retrieved 2012-07-03.
- ^"Western Union" 92 Code "& Wood's" Telegraphic Numerals "".Signal Corps Association. 1996.Archivedfrom the original on 2012-05-09.Retrieved2012-07-03.
- Chevance, Fabienne (2017)."Case for the genetic code as a triplet of triplets".Proceedings of the National Academy of Sciences of the United States of America.114(18): 4745–4750.Bibcode:2017PNAS..114.4745C.doi:10.1073/pnas.1614896114.PMC5422812.PMID28416671.