Kode

Ein **kode** er eit regelverk for konvertering av informasjon, som tekst, bilete, lyd, video og så vidare, til ein annan representasjon. 

## Koding av tekst
Når tekst vert lagra og handsama av ei datamaskin må dei ulike bokstavane kodast. Ein nyttar då eit teiknsett der kvar bokstav og andre symbol har kvar sin kode. Typiske døme på teiknsett er ASCII, ISO 8859. Språk som vert skrivne med eit alfabet greier seg med korte teiknsett (kodetabellar), medan språk som vert skrivne med skriftteikn, som kinesisk og japansk, krev lange teinsett.

## Grafiske symbol

Grafiske symbol vert ofte nytta der det er viktig at ein oppfattar bodskapen snøgt. Sloke symbol er ei form for koding av informasjon. Typiske døme er trafikkskilt, fargekodar for kaldt- og varmtvassskraner, vaskesymbol på klede og så vidare. Mange grafiske symbol, som trafillskilt, symbol på flyplassar, etc., fylgjer i stor grad internasjonale standardar og er forståelege same kva språk ein talar.

## Kommunikasjon og lagring
Innan kommunikasjon og datalagring vert det nytta ulike typar kodar for fleire ulike førmål.

#### Linjekoding
: *Hovudartikkel [[Linjekoding]]*
Når data vert overført på bitserial form i basebandet er det naudsynt å nytta å nytta ein kode som høver til kommunikasjonskanalen. Typiske døme på linjekodar er NRZ, NRZI], Manchesterkode og så vidare. 
Det same gjeld ved lagring av data, til dømes på optiske medium som CD og DVD. For CD, til dømes, nyttar ein EFM-koding for å tilpassa den binære datastraumen til det optiske mediumet. Strekkode er maskinlesbar kode for lagring av data som tekst. Strekkode vert ofte nytta for å lagra produktinformasjon og pris.

### Datakomprimering
: *Hovudartikkel [[Datakomprimering]]*

Ved overføring av data er det ynskjeleg å redusera datamengda for å auka effektiv informasjonsrate. Symbola i datastraumen vert då koda i sendaren og så dekoda i mottakaren. Symbola som vert overførte kan vera bokstavar og teikn, frå eit teiknsett, som ASCII, ISO 8859, etc., pixel i eit digitalt bilete, binære ord i ein audiostraum og så vidare. Ein av desse teknikkane går ut på å nytta stutte kodeord for symbol det er mange av og lengre kodeord for symbol som ikkje vert sendt så ofte. Morsealfabetet er eit typisk døme.

### Feilkorreksjon
: *Hovudartikkel [[Feildeteksjon og korreksjon]]*
Når data vert overført over ein kommunikasjonskanal, eller lagra på eit lagringsmedium, oppstår det alltid feil. Ved å legga på redundans (overflødig data]] på ein kontrollert måte kan ein detektera og korrigera feil i mottakaren. Når ein legg til redundans endar ein opp med nye binære ord (med fleire bit). Typiske døme er Hamming-kode og CRC.

### Kryptografi

Innan krypografi vert informasjon som skal sendast eller lagrast koda for å verta uleselege for andre enn dei dei er tenkt for. 

## Programkode
Programvare vert koda på ulike nivå. Den logiske informasjonen som beskriv korleis eit program fungerer som oftast koda i eit høgnivåspråk, som Pascal, C, Occam, etc., for deretter å verta omsett, av ein kompilator, til maskinkode, som er binære ord som vert dekoda av instruksjonsdekodaren i CPU-en i datamaskina programmet køyrer på. Dei einskilde symbola (bokstavar, tal og andre symbol) i kjeldeprogrammet vert som oftast lagra i form av ASCII-kode, medan bitmønstret til dei ulike instruksjonane i maskinkoden samsvarar med instruksjonsettet til prosessoren kjeldekoden vert kompilert for. Når maskinkoden vert lagra på eit platelager vart dei binære orda vidare koda i fleire omgangar: metakode som filsystemet legg til, feilkorreksjonskode, linkekoding og så vidare. Når maskinkoden vert lesen inn frå platelagret til RAM vert dei ulike kodelaga skrella av om lag som når ein opnar ei Matrjosjka-dokke.

## Sjå òg
* Kodek