# Kode

*For andre tydingar av oppslagsordet, sjå Kode (fleirtyding).*
Strekkode.
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

Grafisk symbol som varslar om fare for radioaktiv stråling.
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*
Morsealfabetet nyttar stutte symbol for bokstavar som vert sendt ofte og lengre symbol for bokstavar som ikkje vert sendt så ofte.
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

*For meir om dette emnet, sjå 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