You are on page 1of 3

Datorer och datoranvändning

Teckenkodning – historik
F4
Baudotkod – 5-bitars kod för fjärrskrivare (teletype – tty).
Datarepresentation –
teckenkodning
EDAA60 Datorer och datoranvändning

Roger Henriksson
Patrik Persson

Baudot 1874, Murray 1901


!2

Datorer och datoranvändning Datorer och datoranvändning

ASCII Svensk ASCII

American Standard Code for Information Interchange Olika modifierade 7- och 8-bitars ASCII-kodningar för
(1963) att representera internationella alfabet.
7-bitars teckenkod ursprungligen utvecklad för fjärrskrivare.

Tandbergterminal från tidigt 80-tal.


Datavetenskap, LTH. Observera ordningen på Å, Ä och Ö.
!3 !4
Datorer och datoranvändning Datorer och datoranvändning

Radslut ISO 8859

Radslut representeras med ett (eller flera) specialtecken. En serie 8-bitarsvarianter av ASCII.
Tyvärr inte helt standardiserat. • ISO 8859-1 – Latin-1, västeuropeiska
• ISO 8859-2 – Latin-2, östeuropeiska
Windows, och flera Internetprotokoll:
Carriage Return + Line Feed (ASCII 13 + ASCII 10) Även för:
grönländska (3), kyrilliska (5), arabiska (6),

Unix, Linux grekiska (7), hebreiska (8), osv…
Line Feed (ASCII 10)
Inte heller här har Å,Ä,Ö hamnat rätt…
Några äldre OS
Variant med extra tecken i stället för kontrolltecken 7F-AF:

Carriage Return (ASCII 13) – nu mest en historisk parentes.
Windows-1252.
!5 !6

Datorer och datoranvändning Datorer och datoranvändning

Unicode/ISO 10646 UTF-8

Utvecklat för att klara världens alla skriftspråk. Unicodetecken lagras i 1-4 bytes.
Mer än 100000 möjliga skrivtecken. Skrivs ofta “U+XXXX”.
7-bitars ASCII-tecken representeras likadant i UTF-8.
Varje tecken har en motsvarande sifferkod som i sin tur kan lagras
Ovanligare tecken representeras som en sekvens av
enligt en av flera möjliga kodningstekniker: flera bytes 2-4.
• UTF-8
Exempel:
• UTF-16
• Å = U+00C5 → C3 85 (hexadecimalt)
• UTF-32
• Ä = U+00C4 → C3 84 (hexadecimalt)
• Ö = U+00D6 → C3 96 (hexadecimalt)
Man måste alltså hålla i sär unicode-teckenkod och hur denna
representeras praktiskt.
U+0080 – U+07FF kodas som: 110xxxxx 10xxxxxx

Högre teckenkoder på liknande sätt i fler bytes.
!7 !8
Datorer och datoranvändning Datorer och datoranvändning

Byte Order Mark (BOM) Escapetekniker

Teckensekvens som ofta förekommer i början av Unicode- Ibland har man behov att kunna uttrycka tecken som inte
kodade filer som anger kodningsteknik och byte-order. direkt kan representeras i den aktuella teckenkodningen,
bytes kodning eller som utgör speciella styrtecken.
00 00 FE UTF-32, big-endian
FF FF
FE 00 UTF-32, little-endian Då använder man sig ibland av s.k. escapesekvenser.
FE00FF UTF-16, big-endian
Exempel:
FF FE UTF-16, little-endian
Tilldela en strängvariabel i Scala ett värde med radslut i.

EF BB BF UTF-8

val s = “Hello\nWorld!”;
little-endian – minst signifikant byte först
big-endian – mest signifikant byte först \n linefeed (radslut i Unix).
!9 !10

Datorer och datoranvändning

Escapesekvenser

Vanliga escapesekvenser i Scala, Java och flera Unix-verktyg:


• \r – carriage return, ascii 13
• \n – line feed (new line), ascii 10
• \t – tab, ascii 9
• \\ – bakvänt snedtecken (backslash)

Ibland kan man även ange teckenkoderna i oktal form:


• \007 – bell

Eller som Unicode-koder som i Scala/Java:


• \u000C – form feed

Beroende på applikation…
!11

You might also like