# Code (representatie van gegevens)

Een code in de ruimste zin is een aanduiding die voor iets anders staat, een symbool, een verzameling symbolen, een beweging, etc. Codes worden gebruikt om te communiceren: het is eenvoudiger het woord 'tafel' te zeggen dan naar een tafel te wijzen. Alle talen zijn dus eigenlijk codes. Communiceert men met iemand die de code niet kent - dus iemand die een andere taal spreekt - dan moet men wel naar de tafel wijzen.
De vertaalslag van de werkelijkheid, of van de ene code naar de andere toe heet 'codering'; de omgekeerde bewerking 'decodering'.

## Codering in stappen

* Het is niet mogelijk menselijke gedachten direct naar een ander over te brengen. Er is een code nodig. Vaak wordt gesproken taal of geschreven taal gebruikt. Er bestaan veel talen: Nederlands, Engels, enz.
* Zowel bij gesproken als geschreven taal zijn er variaties, bij de laatste bijvoorbeeld lettertype of handschrift.
* Een geschreven tekst kan per koerier worden verstuurd. Om een bericht sneller uit te wisselen, is een nieuwe code nodig, vanouds Morse voor de klassieke telegraaf, tegenwoordig zijn er tekencoderingen voor verzending per computer.
* Om geheimhouding te verzekeren kan een bericht (meestal een geschreven bericht) worden omgezet in een andere code. Dit is een code in engere zin. Als men spreekt over een bericht in code, dan bedoelt men meestal een geheime code.
In de praktijk wordt het woord 'code' niet gebruikt voor de gesproken taal en de geschreven tekst, maar ze zijn in feite wel degelijk codes. Al deze codes hebben gemeen dat kennis van de code noodzakelijk is: een mondeling gesprek is niet mogelijk tussen personen die de taal niet kennen, een geschreven tekst is voor analfabeten onleesbaar. Voor tekencoderingen is het niet nodig dat de gebruiker de code kent, maar geldt nog steeds de eis dat de gebruikte computer de code van en naar geschreven tekst moet kunnen omzetten.

## Machinale codering

De codering en decodering kan ook machinaal geschieden. Zo kan een gesproken tekst met een microfoon gecodeerd worden naar elektrische trillingen en met een luidspreker weer gedecodeerd worden. Deze elektrische trillingen zijn geschikt voor verzending per telefoon of radio en kunnen verder gecodeerd worden naar magnetisme op een recorderband of putjes in een cd.
Soms is er geen sprake van een overeengekomen code: een microfoon genereert trillingen die direct overeenkomen met het gesproken geluid, deze kunnen als analoog signaal worden opgeslagen en/of doorgegeven.

## Codering en menselijk geheugen

Informatie of kennis van de buitenwereld wordt in een bepaalde vorm of code in netwerken van zenuwcellen in de hersenen opgeslagen. Hoe dergelijke neurale codes of representaties worden gevormd, is een onderwerp van de cognitieve psychologie en neurobiologie.

## Bijzondere coderingen

In het dagelijks leven is het gebruik van code gebruikelijk voor bijzondere coderingen, anders dan normale gesproken of geschreven taal. Codes worden dan vooral om drie redenen gebruikt:
* om sneller te kunnen communiceren; bijvoorbeeld bij het gebruik van een radioverbinding het woord 'roger' of 'ten-four' voor 'ik heb je gehoord en begrepen'. Stenografie is een code om gesproken woord met dezelfde snelheid mee te kunnen schrijven.
* om langs bijzondere wegen te kunnen communiceren; bijvoorbeeld morsecode of braille.
* om te kunnen communiceren waarbij onbevoegden de berichten niet kunnen begrijpen en/of de ontvanger moet kunnen vaststellen wie de afzender is. Dit heet ook wel encryptie, vercijfering, versleuteling of geheimschrift.
Vaak treden ook combinaties hiervan op. Volwassenen spreken soms een vreemde taal om te verhinderen dat de kinderen meeluisteren. In feite wordt dan een gewone taal gebruikt voor encryptie. Hetzelfde gebeurde in de Tweede Wereldoorlog tussen Japan en de Verenigde Staten: de Amerikanen gebruikten Indianen die in hun eigen taal communiceerden, wat voor de Japanners onbegrijpelijk was.
Spreekt men van een 'bericht in code' of een 'gecodeerd bericht', dan bedoelt men meestal dat er encryptie is gebruikt.

## Scheidingsteken

Sommige codes hebben een scheidingsteken nodig om de codewoorden van elkaar te scheiden. Een scheidingsteken is bijvoorbeeld nodig bij een opsomming van getallen van verschillende lengtes, omdat anders niet uitgemaakt kan worden waar het ene getal ophoudt en het volgende begint. Zo kan 123 bijvoorbeeld één getal zijn of de getallen 1 en 23 betekenen. Ook bij morse is een scheidingsteken nodig; daarvoor wordt een letterspatie gebruikt, dat is een pauze zonder signaal. Als in een string een bepaald rijtje symbolen of bitwaarden gebruikt wordt als scheidingsteken, mag dat rijtje niet kunnen vóórkomen in een code.
Een scheidingsteken is niet nodig bij codewoorden van gelijke lengte. Een scheidingsteken is ook niet nodig bij prefixcodering.

## Voorbeelden van codes
### Coderingen

* QR-code: tweedimensionale streepjescode, voor opslag van teksten
* Baudotcode
* Braille
* Datatype
* ISBN: Internationaal Standaard Boeknummer
* ISO 3166-1: drieletterige landencodes
* Morse
* One-time code: van tevoren afgesproken woord of zin
* Openingcode: voor de classificatie van schaakpartijen.
* Stenografie
* Tekencoderingen
** met vaste lengte per teken, bijv. UTF-32
** met variabele lengte per teken, bijv. UTF-8, UTF-16 en Huffmancodering
* Video-codes: digitale video formaten zonder compressie
* Neurale codes: opslag van informatie in de hersenen in de vorm van een neurale representatie