F3 Datarepresentation teckenkodning och datakompression

Relevanta dokument
F3 Datarepresentation teckenkodning och datakompression EDAA05 Datorer i system! Roger Henriksson!

F2 Datarepresentation talbaser, dataformat och teckenkodning

F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson!

F2 Datarepresentation talbaser, dataformat och teckenkodning

Tecken. char. char ch = A ; sizeof(char) = 1 byte (ej 16-bitars tecken som i Java) char namn[]= "Nils"; // längd = 5 bytes

Mattias Wiggberg Collaboration

Programmering i C++ EDAF hp. EDAF30 (Föreläsning 2) HT / 18

Tecken och strängar i Java

TDDD78, TDDE30, 729A Tecken och strängar med och utan Java

Dagens agenda. Lagring & berarbetning av data. Filer och filformat Metadata Komprimering Kryptering Olika typer av data Filsystem Databaser

F2 Binära tal EDA070 Datorer och datoranvändning

Tentamen EDAA05 Datorer i system

Källkodning. Egenskaper hos koder. Några exempel

SMS047 Mediakodning. Introduktion. Frank Sjöberg. Introduktion. Introduktion

Innehåll 1. Mediafakta Disketter, CD-skivor, DVD-skivor och USB-minnen 3. Kassetter Svarsmedier vid förfrågningar...

Föreläsning i webbdesign. Bilder och färger. Rune Körnefors. Medieteknik Rune Körnefors rune.kornefors@lnu.se

Tecken och strängar i Java

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

Redovisning av bl.a. kontrolluppgifter, näringsuppgifter samt frågor mot centrala. skatteregistret med ADB-medier MEDIE FAKTA.

C konstruerades i början på sjuttiotalet av Dennis Ritchie vid Bell Laboratories.

Övningar och datorlaborationer, Datorer i system

Övningar och datorlaborationer, Datorer i system

Tecken och teckenrepresentation

Digital- och datorteknik

Filsystem. Varför? Hur? För att kunna lagra data mer permanent än i RAM. Vettig organisation Vettiga namn

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Datakompression. Harald Nautsch ISY Bildkodning, Linköpings universitet.

Kursinnehåll. Datakompression. Föreläsningar, preliminärt program. Examination

PNSPO! Adressering i Omrons PLC. 14 mars 2012 OMRON Corporation

DIGITALA TAL OCH BOOLESK ALGEBRA

Shannon-Fano-Elias-kodning

Teckenrepresentation. Kapitel Teckenkoder 5.3 ASCII. 5.2 Att ange teckenkodning

Internationalized Domain Names (Internationaliserade domännamn)

729G09 Språkvetenskaplig databehandling

BiDisp2 PRODUKTIONSSYSTEM. Robust och flexibel display för industriella tillämpningar

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Datorkommunikation. Examination Översikt. Kurslitteratur. Datorkommunikation. Kursens hemsida

Introduktion till programmering SMD180. Föreläsning 7: Strängar

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Att sända information mellan datorer. Information och binärdata

Tentamen, Algoritmer och datastrukturer

FLAC (Free Lossless Audio Coding)

Ordbokskodning. Enkel variant av kodning med variabelt antal insymboler och fixlängds kodord. (Jfr tunstallkodning)

Exempel, minnesfri binär källa. Ordbokskodning. Lempel-Zivkodning. Lempel-Zivkodning, forts.

Enkla datatyper minne

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar

Adaptiv aritmetisk kodning

Chapter 3: Using Classes and Objects

PARITETSKONTROLL. Om generatorn i vidstående exempel avkänner ett jämt antal ettor ger den en nolla ut. Detta innebär att överföringen

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Mediefakta. Redovisning av bl.a. kontrolluppgifter, näringsuppgifter samt frågor mot centrala skatteregistret med ADB-medier.

Kapitel 2 o 3. Att skicka signaler på en länk. (Maria Kihl)

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Föreläsning 17 - Komprimering

Övning 6 - Tillämpad datalogi 2012

Optimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts.

Optimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or.

Kursinfo. Praktisk datorkunskap. Examination- Krav för godkänt. Syfte DVG A06

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Strängar. TDDD64 Programmering i Python Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

Strängar. Elektronikcentrum i Svängsta AB

Styrteknik: Binära tal, talsystem och koder D3:1

TDP002 - Imperativ programmering

Data och Information. Dr. Johan Hagelbäck.

Aritmetisk kodning. F (0) = 0 Exempel: A = {1, 2, 3} k=1. Källkodning fö 5 p.1/12

Tecken och strängar i Java

EDA451 - Digital och Datorteknik 2009/2010. EDA Digital och Datorteknik 2009/2010. Binär Kodning, lärobokens kap.2

Programmering för språkteknologer II. OH-serie: Ändliga automater. reguljära uttryck i Java. Deterministiska ändliga automater

TDDD02 Föreläsning 2 HT Reguljära uttryck och reguljära språk Lars Ahrenberg

Talsystem Teori. Vad är talsystem? Av Johan Johansson

TDP003 Projekt: Egna datormiljön

Tildatenta Lösningsskiss

Nya KPA Direkt. Filbeskrivning OPF-KL

Undantag. Engelska: exceptions. Skansholm: exceptionella händelser

Examination Kurslitteratur

Övning 1 - Abstrakta datatyper

Datorer och datoranvändning Föreläsningar 2014/15. Föreläsning 1 Unix. Operativsystem. Unix

Integration mot Cellsynts SMS gateway via HTTP-gränssnitt (teknisk dokumentation)

Filbeskrivning Rapportering av lön- och anställningsuppgifter för OPF-KL

729G04 Programmering och diskret matematik. Python 6: Abstrakta datatyper

Skurlängdskodning. aaaabbbbbbbccbbbbaaaa. Man beskriver alltså sekvensen med ett annat alfabet än det ursprungliga.

Integration mot Cellsynts SMS gateway via HTTP-gränssnitt (teknisk dokumentation) Cellsynt

Kapitel 4. Teckenrepresentation. 4.2 Teckenkoder. 4.1 Binärt. 4.3 Att ange teckenkodning

Trygghet kring hållplatser Ett framtaget verktyg vid trygghetsanalysering i samband med hållplatser och dess närmaste omgivning

DAB760: Språk och logik

Data och information. Grunderna i datatransmission och fysiska skiktet. Media: vågledare. Datatransmission. Kodning av diskret information

Grunderna i datatransmission och fysiska skiktet. Bitarna möter verkligheten Sidorna i boken

Import / export av personer i Vaka 2.

Att hämta organisationers publikationsposter ur DiVA

PNSPO! Exporterar och Importerar texter från CX- Designer. 20 mars 2012 OMRON Corporation

Inledning. Statistisk Programmering. UNIVAC 1107 (sextio- och sjuttiotal) Hålkorten. Att använda dator

Datorkommunikation. Examination Översikt. Kurslitteratur. Datorkommunikation. Kursens hemsida

Välkomna till NADA. Datalogi, grundkurs 1, 15hp. (Numerisk Analys och DAtalogi) och kursen. DA2001 (Föreläsning 1) Datalogi 1 Hösten / 28

Kursansvarig. Välkomna till NADA. Datorn som verktyg. Datalogi, grundkurs 1, 15hp

OBJEKTORIENTERAD PROGRAMMERING för Z1 (TDA540) Ansvarig: Jan Skansholm, tel eller

Tecken & Strängar. Kapitel 7

Idag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik

ENKEL Programmering 3

Textbearbetning i skalet och man-sidor

Säkerhet. Vad är det vi pratar om??

Teckenrepresentation. Kapitel Teckenkoder. 4.2 Att ange teckenkodning 4.3 ASCII

Transkript:

Teckenkodning historik F3 Datarepresentation teckenkodning och datakompression Baudotkod 5-bitars kod för fjärrskrivare (teletype tty). EDAA05 Roger Henriksson Jonas Wisbrant Baudot 1874, Murray 1901 2 EBCDIC ASCII Extended Binary Coded Decimal Interchange Code American Standard Code for Information Interchange (1963) 7-bitars teckenkod ursprungligen utvecklad för fjärrskrivare. 8-bitars IBM-standard som huvudsakligen användes i IBMs stordatorsystem. Idag mest en historisk parantes. Tandbergterminal från tidigt 80-tal. Datavetenskap, LTH. 3 4

Svensk ASCII Olika modifierade 7- och 8-bitars ASCII-kodningar för att representera internationella alfabet. Radslut Radslut representeras med ett (eller flera) specialtecken. Tyvärr inte helt standardiserat. Windows, och flera Internetprotokoll: Carriage Return + Line Feed (ASCII 13 + ASCII 10) Unix, Linux Line Feed (ASCII 10) Observera ordningen på Å, Ä och Ö. Några äldre OS Carriage Return (ASCII 13) nu mest en historisk parantes. 5 6 ISO 8859 En serie 8-bitarsvarianter av ASCII. ISO 8859-1 Latin-1, västeuropeiska ISO 8859-2 Latin-2, östeuropeiska Även för: grönländska (3), kyrilliska (5), arabiska (6), grekiska (7), hebreiska (8), osv Inte heller här har Å,Ä,Ö hamnat rätt Variant med extra tecken i stället för kontrolltecken 7F-AF: Windows-1252. Unicode/ISO 10646 Utvecklat för att klara världens alla skriftspråk. Mer än 100000 möjliga skrivtecken. Skrivs ofta U+XXXX. Varje tecken har en motsvarande sifferkod som i sin tur kan lagras enligt en av flera möjliga kodningstekniker: UTF-8 UTF-16 UTF-32 Man måste alltså hålla isär unicode-teckenkod och hur denna representeras praktiskt. 7 8

UTF-8 Unicodetecken lagras i 1-4 bytes. 7-bitars ASCII-tecken representeras likadant i UTF-8. Ovanligare tecken representeras som en sekvens av flera bytes 2-4. Å = U+00C5! C3 85 (hexadecimalt) Ä = U+00C4! C3 84 (hexadecimalt) Ö = U+00D6! C3 96 (hexadecimalt) U+0080 U+07FF kodas som: 110xxxxx 10xxxxxx Högre teckenkoder på liknande sätt i fler bytes. 9 Byte Order Mark (BOM) Teckensekvens som ofta förekommer i början av Unicodekodade filer som anger kodningsteknik och byte-order. bytes kodning 00 00 FE FF UTF-32, big-endian FF FE 00 00 UTF-32, little-endian FE FF UTF-16, big-endian FF FE UTF-16, little-endian EF BB BF UTF-8 little-endian minst signifikant byte först big-endian mest signifikant byte först 10 Escapetekniker Ibland har man behov att kunna uttrycka tecken som inte direkt kan representeras i den aktuella teckenkodningen, eller som utgör speciella styrtecken. Då använder man sig ibland av s.k. escapesekvenser. Tilldela en strängvariabel i Java ett värde med radslut i. String s = Hello\nWorld! ; \n linefeed (radslut i Unix). Escapesekvenser Vanliga escapesekvenser i 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 Java: \u000c form feed Beroende på applikation 11 12

Informationsteori Hur man kodar sina data för att åstadkomma robusthet kodningsteknik säkerhet kryptering/autentisering minimal datamängd datakompression Kodningsteknik Tekniker för att upptäcka och rätta fel i överföring och lagring av data. Paritetsbitar jämför hålremsan på övning 1. Felkorrigerande koder Kurser på Institutionen för Elektro- och informationsteknik. Kan Mats fortfarande spela sin CD-skiva efter att han borrat hål i den? 13 14 Kryptoteknik Kryptografi metoder för att förvanska meddelanden så att obehöriga inte kan läsa dem Kryptoanalys metoder för att forcera sådana meddelanden Den klassiska tyska kryptoapparaten Enigma från andra världskriget. Datakompression Informationskällor innehåller ofta mycket redundans. Koda om datainnehållet så att redundansen minimeras och storleken på datainnehållet minskar. destruktiv komprimering man kan ej exakt återskapa källan. Huvudsakligen för bilder, ljud, video. ickedestruktiv komprimering möjligt att exakt återskapa originalet. Program som zip/gzip. - Huffmankodning - Lempel-Ziv-kodning 15 16

Huffmankodning En sekvens av symboler med fix längd byts till en sekvens med varierande längd beroende på symbolernas frekvens. Lempel-Ziv-kodning Letar efter datablock som upprepar sig och ersätter dem med en kod som refererar till den tidigare förekomsten. Alfabet med symbolerna A (60%), B (25%), C (10%), D (5%). Naiv binär kodning: A = 00, B = 01, C = 10, D = 11 Medelmeddelandelängd: 2 0,6+2 0,25+2 0,1+2 0,05 = 2 bitar Huffmankodning: A = 0, B = 10, C = 110, D = 111 Medelmeddelandelängd: 1 0,6+2 0,25+3 0,1+3 0,05 = 1,55 bitar prefixfri kodning! aaababbbaaabaaaaaaabaabb Originalstorlek: 24 8 = 192 bitar Komprimerad storlek: 106 bitar # kod symbol bitar 0 - - - 1 0a a 1+8 2 1a aa 1+8 3 0b b 2+8 4 1b ab 2+8 5 3b bb 3+8 6 2a aaa 3+8 7 3a ba 3+8 8 6a aaaa 3+8 9 2b aab 4+8 10 9b aabb 4+8 17 18