close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

Lehrer: J. Füglistaler Frage: Was für Codes ausser - mediengrafik.ch

EinbettenHerunterladen
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
Codes
© 2012 J. Füglistaler
Lehrer: J. Füglistaler
Frage: Was für Codes ausser Ihrem
Handy-Pincode kennen Sie?
Technische Berufschule Zürich IT
Seite 1
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
Morsecode:
Setzt Schriftzeichen in unterschiedlich lange, binäre Zeichenfolgen um
ASCII-Code:
Wird im Computer verwendet, um Buchstaben, Zahlen und Satzzeichen durch
Bitfolgen darzustellen.
Dual-Code:
Wird im Computer verwendet, um ganze Zahlen in binären Zeichen darzustellen
Maschinen-Code:
Wird in der Computertechnik verwendet. Stellt ein Programm bzw. eine Art
Vorgehensbeschreibung für den Prozessor dar!
Leitungscodes:
In der Datenübertragung verwendet, wie zB. der Manchester-Code bei Ethernet.
Genetischer Code:
Eine biologische Anleitung, nach der während der Proteinbiosynthese die
Informationen der DNA/RNA in Aminosäuresequenzen übersetzt werden.
Quellcode:
Beim Programmieren kodiert man Algorithmen als Quellcode in einer
Programmiersprache wie zB. C++, Java, etc. den man übrigens später in
Maschinencode übersetzt bzw. kompiliert oder HTML-Code der von einem
Webbrowser interpretiert wird. (vgl. Spaghetti-Code ;-)
Geheimcode:
Mit monoalphabetischer Verschlüsselung werden Buchstaben durch
andere Buchstaben ersetzt. (Verschlüsselungsverfahren)
ISBN-Code:
International Standard Book Number zur Identifizierung von Büchern
Media-Codecs:
MP3-Code, MPEG2-Code, MPEG-4-AVC-Code, Reed-Solomon-Code (Audio-CD)
Technische Berufschule Zürich IT
Seite 2
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
Einleitung
Code … Protokoll … Format …Was bedeutet was?
Protokolle können definieren:
• Physikalische Verbindung (Kabel/drahtlos)
• Datenflusskontrolle (Handshaking)
• Vereinbarung der verschiedenen Verbindungscharakteristiken
• Beginn und Ende einer Übermittlung
• Wie eine Botschaft formatiert ist (Format) Das Format definiert wiederum
die binär codierte Form der Nutzdaten.
• Feststellung von fehlerhafter Übermittlung und weiteres Vorgehen
(Fehlerkorrekturverfahren)
• Feststellung von Verbindungsunterbruch und weiteres Vorgehen
• Beendigung der Verbindung
Technische Berufschule Zürich IT
Seite 3
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
Einleitung
ARP-Protokoll
Anforderung an IP
zur Versendung eines
Datenpakets an eine
IP-Adresse
Protokoll , Format und Codierung am Beispiel Ethernet:
Versenden des DatenPakets durch IP
J
Liegt eine
Zuordnung bereits im
Cache?
N
ARP sendet per Broadcast an alle die Frage,
wie die MAC-Adresse
zur IP-Adresse lautet
Rechner mit IP-Adresse x
schickt ARP-Antwort
mit der Zuordnung
x-IP-Adresse-MAC-Adresse
ARP legt Zuordnung im
Cache ab
Nutzdaten sind binärcodiert!
(=Format)
Technische Berufschule Zürich IT
Seite 4
FUG-Aug. 2012
Quelle: www.wut.de
M114
Einleitung
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
Format und Codierung am Beispiel MP3-Datei:
Technische Berufschule Zürich IT
Seite 5
FUG-Aug. 2012
M114
Einleitung
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
Einteilung Codes/Codierung:
Hinweis: Keine abschliessende Aufzählung!
MP3 (Audio)
JPEG (Bild)
MPEG2 (Film)
Codierungen
(Codecs)
Leitungscodes
NRZ-Code
Manchester-Code
(Signalübertragung)
Strich-Codes
EAN-Codes
Alphanum.-Codes
ASCII-Code
Unicode
(Text)
Codes
Binäre Codes
Numerische Codes
(Dezimalzahlen)
Dual-Code
BCD
Gray-Code
Aiken-Code
Exzess-3-Code
1-aus-n-Code
7-Segment-Anz.
Numerische Codes sind Zahlencodes für Integer-Zahlen oder ganzen natürlichen Zahlen wie ..-2,-1,0,1,1..
Für Dezimalzahlen oder Fliesskommazahlen (Floating Point Numbers) muss ein Format vorgegeben sein wie zB.
± 0,xxxx E±yyyy (Die Anzahl x- und y-Stellen hängt von der Genauigkeit des Datentyps ab. „E“ bedeutet 10er-Exponent)
Technische Berufschule Zürich IT
Seite 6
FUG-Aug. 2012
M114
Definition:
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
Was bedeutet nun der Begriff „Code“?
• Vorschrift, wie Nachrichten oder Befehle zur Übertragung oder Weiterverarbeitung für ein
Zielsystem umgewandelt werden.
Beispielsweise stellt der Morsecode eine Beziehung zwischen Buchstaben und einer Abfolge kurzer
und langer Tonsignale her.
• Der Code heißt entzifferbar, wenn es eine eindeutige Umkehrabbildung gibt, die jedem
Nachrichtenwort aus B wieder das ursprüngliche Wort aus A zuordnet.
Definition
Eindeutige Abbildung der
Zeichen des Zeichenvorrats 1 auf die Zeichen des Zeichenvorrats 2
Beispiel:
Zeichenvorrat 1
00 =
01 =
10 =
11 = ☺
0, 1
Technische Berufschule Zürich IT
Abbildung
Seite 7
Zeichenvorrat 2
☺, , ,
FUG-Aug. 2012
M114
Definition:
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
Anforderungen an einen „Code“ sind:
1.
Ökonomische Darstellung Übertragungsgeschwindigkeit,
Speicherplatzbedarf
2.
Sicherung gegen Verfälschung: Übertragungsfehler,
Verarbeitungsfehler
3.
Schutz vor unbefugtem Zugriff: Verschlüsselung/Kryptologie
Störeinflüsse,
Unbefugter
Zugriff
Datenquelle
Coder
Decoder
Datensenke
Decoder
Coder
Datenquelle
„CODEC“
„CODEC“
Übertragungskanal, Leitung
Bidirektional
Datensenke
Was bedeutet der Begriff Codec?
Technische Berufschule Zürich IT
Kunstwort aus Coder-Decoder : Codec
Seite 8
FUG-Aug. 2012
M114
Beispiel:
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
„Parallele“ Übermittlung von ganzen Zahlen im Bereich 1 bis 45 (Lottozahlen)
Lotto-Gesellschaft
Lotto-Annahmestelle
Übermittlung
der gezogenen
Zahlen, Parallelverbindung!
Frage: Wie viele Leitungen benötigt diese Verbindung?
Technische Berufschule Zürich IT
Seite 9
FUG-Aug. 2012
M114
Beispiel:
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
„Parallele“ Übermittlung von ganzen Zahlen im Bereich 1 bis 45 (Lottozahlen)
LSB (Kleinstwertigstes Bit)
1. Verbindung
2. Verbindung
3. Verbindung
4. Verbindung
5. Verbindung
6. Verbindung
MSB (Höchstwertigstes Bit)
Lotto-Gesellschaft
Lotto-Annahmestelle
Es braucht 6 Verbindungen!
26 = 2*2*2*2*2*2 = 64 Möglichkeiten!
(Verlangt wäre allerdings nur 45!
Somit „vergeuden“ wir 19 Kombinationen. Wir haben somit Redundanz!)
Frage: Wie könnte der Code dazu aussehen?
Erstellen Sie die Codetabelle!
(Nur für die ersten 16 Zahlen!)
Technische Berufschule Zürich IT
Seite 10
FUG-Aug. 2012
M114
Beispiel:
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
„Parallele“ Übermittlung von ganzen Zahlen im Bereich 1 bis 45 (Lottozahlen)
LSB (Kleinstwertigstes Bit)
1. Verbindung
2. Verbindung
3. Verbindung
4. Verbindung
5. Verbindung
6. Verbindung
MSB (Höchstwertigstes Bit)
Lotto-Gesellschaft
Lotto-Annahmestelle
Kombinationen die nicht verwendet werden
Technische Berufschule Zürich IT
Seite 11
FUG-Aug. 2012
M114
Beispiel:
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
„Parallele“ Übermittlung von ganzen Zahlen im Bereich 1 bis 45 (Lottozahlen)
LSB (Kleinstwertigstes Bit)
1. Verbindung
2. Verbindung
3. Verbindung
4. Verbindung
5. Verbindung
6. Verbindung
MSB (Höchstwertigstes Bit)
Lotto-Gesellschaft
Lotto-Annahmestelle
Wertigkeit
MSB: Most Significant Bit
(Höchstwertigstes Bit)
LSB: Least Significant Bit
(Kleinstwertigstes Bit)
Technische Berufschule Zürich IT
Seite 12
FUG-Aug. 2012
M114
Beispiel:
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
„Parallele“ Übermittlung von ganzen Zahlen im Bereich 1 bis 45 (Lottozahlen)
LSB (Kleinstwertigstes Bit)
1. Verbindung
2. Verbindung
3. Verbindung
4. Verbindung
5. Verbindung
6. Verbindung
MSB (Höchstwertigstes Bit)
Lotto-Gesellschaft
Lotto-Annahmestelle
1. Verbindung
2. Verbindung
3. Verbindung
4. Verbindung
5. Verbindung
6. Verbindung
t [sec]
Technische Berufschule Zürich IT
Seite 13
FUG-Aug. 2012
M114
Beispiel:
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
„Parallele“ Übermittlung von ganzen Zahlen im Bereich 1 bis 45 (Lottozahlen)
LSB (Kleinstwertigstes Bit)
1. Verbindung
2. Verbindung
3. Verbindung
4. Verbindung
5. Verbindung
6. Verbindung
MSB (Höchstwertigstes Bit)
Lotto-Gesellschaft
Neue Zahlen!
Lotto-Annahmestelle
1. Verbindung
2. Verbindung
3. Verbindung
7 * 31
??????
4. Verbindung
5. Verbindung
6. Verbindung
t [sec]
Technische Berufschule Zürich IT
Seite 14
FUG-Aug. 2012
M114
Beispiel:
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
„Parallele“ Übermittlung von ganzen Zahlen im Bereich 1 bis 45 (Lottozahlen)
LSB (Kleinstwertigstes Bit)
1. Verbindung
2. Verbindung
3. Verbindung
4. Verbindung
5. Verbindung
6. Verbindung
Lotto-Gesellschaft
MSB (Höchstwertigstes Bit)
Takt
Lotto-Annahmestelle
1. Verbindung
Der Rhythmus
od. Takt (=Clock),
mit dem die Zahlen
gesendet werden,
muss dem Empfänger bekannt sein !
2. Verbindung
3. Verbindung
4. Verbindung
5. Verbindung
6. Verbindung
t [sec]
Technische Berufschule Zürich IT
Seite 15
FUG-Aug. 2012
M114
Beispiel:
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
„Parallele“ Übermittlung von ganzen Zahlen im Bereich 1 bis 45 (Lottozahlen)
LSB (Kleinstwertigstes Bit)
1. Verbindung
2. Verbindung
3. Verbindung
4. Verbindung
5. Verbindung
6. Verbindung
MSB (Höchstwertigstes Bit)
Lotto-Gesellschaft
Lotto-Annahmestelle
Takt
Entweder man verwendet dafür eine eigene Takt-Leitung oder man verzichtet darauf und
konstruiert einen Code (Leitungscode), mit dem der Takt aus dem Signal zurückgewonnen
werden kann wie zB. beim Manchester Code!
Der Manchester-Code (Leitungscode)
Verwendet zB. bei Ethernet
Ein Flankenwechsel erfolgt immer
in der Bit-Mitte.
Binäre “1” = ansteigende Flanke
Binäre “0” = abfallende Flanke.
1
0
1
0
0
1
1
0
1
+4V
0V
-4V
Technische Berufschule Zürich IT
Seite 16
FUG-Aug. 2012
M114
Beispiel:
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
„Serielle“ Übermittlung von ganzen Zahlen im Bereich 1 bis 45 (Lottozahlen)
1. Verbindung
Lotto-Gesellschaft
Lotto-Annahmestelle
Serielle Verbindung
Nun werden die Bit‘s hintereinander auf die „Reise“ geschickt!
Und zwar in Paketen zu jeweils 6 Bit.
Dies hat eine Auswirkung auf die Geschwindigkeit! Welche?
Technische Berufschule Zürich IT
Seite 17
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
A. Merkmale von Binärcodes
Inhalt:
1. Stellenzahl/Zeichenvorrat
(2Stellenanzahl = Anzahl mögliche Zeichen)
2. Redundanz
(Redundanz=Stellenzahl-Logarithmus zur Basis 2 (Anzahl realisierter Zeichen)
3. Gewichtung der einzelnen Binärstellen
(zB. beim Dualcode wäre dies 1-2-4-8)
4. Erkennen/korrigieren von Übertragungsfehlern
(CRC, ECC, Zur Hammingdistanz später mehr!)
5. Änderung nur einer Binärstelle beim Übergang zum nächsten Zahlenwert.
(Einschrittige Codes zB. Graycode)
6. Minimierung der 0- oder 1-Bits
(Verlustlose Kompression: Morsecode, VLC)
7. Einfache Komplementbildung
(Bringt Vorteile bei der Berechnung von arithmetischen Ausdrücken)
8. Unterscheidung von Zahlen grösser/kleiner 5
(Für eine einfache arithmetische Zahlenrundung)
9. Unterscheidung gerader/ungerader Zahlen
(Vorteilhaft in der Arithmetik)
Technische Berufschule Zürich IT
Seite 18
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
1. Stellenzahl/Zeichenvorrat
2Stellenanzahl = Anzahl mögliche Zeichen
Bsp :
Eine CD hat in der Amplitude eine Auflösung von 16Bit.
216 = 65‘536
Es können in der Amplitude 65‘536 verschiedene Pegelhöhen unterschieden werden
2. Redundanz
Ist die darzustellende Anzahl von Codes kleiner als die maximale durch die Anzahl
Stellen möglichen Bitkombinationen, so ergibt sich eine Redundanz. Das heisst, es
existieren mehr Bitkombinationen als zur Code-Realisierung notwendig sind.
Bsp :
4 Bit = 24=16 Möglichkeiten
Werden aber für das Dezimalsystem nur
10 Möglichkeiten (0..9) ausgenutzt, sind
6 Möglichkeiten ungenutzt bzw. redundant.
Pseudotetraden nennt man Bitkombinationen die nicht genutzt werden.
Technische Berufschule Zürich IT
Seite 19
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
3. Gewichtung der einzelnen Binärstellen
HEX
DEC
DUAL
23 = 8
22 = 4
21 = 2
20 = 1
0
0
0
0
0
0
1
1
0
0
0
1
2
2
0
0
1
0
3
3
0
0
1
1
4
4
0
1
0
0
5
5
0
1
0
1
6
6
0
1
1
0
7
7
0
1
1
1
8
8
1
0
0
0
9
9
1
0
0
1
A
10
1
0
1
0
B
11
1
0
1
1
C
12
1
1
0
0
D
13
1
1
0
1
E
14
1
1
1
0
F
15
1
1
1
1
Technische Berufschule Zürich IT
Seite 20
Gewichtung der einzelnen Stellen:
Komfortable Umrechnung
in zB. das 10-er System
Wäre das nicht so, müsste eine
Wertetabelle vorhanden sein!
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
4. Erkennen/korrigieren von Übertragungsfehlern
Prüfbits und Paritätscheck.
Die Hammingdistanz und der Hammingcode werden später behandelt!
MSB
LSB
Prüfbit
Gerade
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
Ausschnitt aus einer Daten-Übertragung
Prüfbit und Code stimmen nicht überein.
Es liegt somit ein Übertragungsfehler vor.
Technische Berufschule Zürich IT
Seite 21
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
5. Änderung nur einer Binärstelle beim Übergang zum nächsten Zahlenwert
Man spricht von einschrittigem Code!
DEC
Einschrittiger Code
0
0
0
0
0
1
0
0
0
1
2
0
0
1
1
3
0
0
1
0
4
0
1
1
0
5
0
1
1
1
6
0
1
0
1
7
0
1
0
0
Technische Berufschule Zürich IT
Änderung nur einer
Binärstelle beim
Übergang zum
nächsten Zahlenwert.
Seite 22
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
6. Minimierung der 0- oder 1-Bits
Dieser Thematik wird im
Modul 114 ein eigenes
Kapitel gewidmet:
Datenkompression VLC
(Variable Length Coding)
Darum wird hier darauf
nicht speziell eingegangen!
Beispiel für Codeminimierung:
Morsealphabet
Technische Berufschule Zürich IT
Seite 23
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
7. Einfache Komplementbildung
Betrifft: Natürliche Zahlen (Integer). Entweder vorzeichenlos (unsigned) oder mit Vorzeichen (signed)
Die Anzahl der Zahlen bleibt dabei gleich! (In diesem Beispiel mit 4Bit 16 verschiedene Zahlen!
Nur positive Zahlen
0000B
0001B
0010B
0011B
0100B
0101B
0110B
0111B
1000B
1001B
1010B
1011B
1100B
1101B
1110B
1111B
Positive + negative Zahlen
0D
1D
2D
3D
4D
5D
6D
7D
8D
9D
10D
11D
12D
13D
14D
15D
0000B
0001B
0010B
0011B
0100B
0101B
0110B
0111B
1000B
1001B
1010B
1011B
1100B
1101B
1110B
1111B
0D
1D
2D
3D
4D
5D
6D
7D
-8D
-7D
-6D
-5D
-4D
-3D
-2D
-1D
+
-
Vorzeichen
Positiv : 0
Negativ : 1
Technische Berufschule Zürich IT
Seite 24
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
7. Einfache Komplementbildung
Die negativen Zahlen werden durch 2-er-Komplementbildung erstellt!
0100
4
3
5
6
2
4
5
6
7
2
1
1
7
1000
Eine positive Zahl wird in eine negative
Zahl gleichen Betrages umgewandelt:
3
0
8
0
0000
Man nennt dies:
9
C
Zweierkomplement bilden
Der Weg dazu:
1100
0000B
0001B
0010B
0011B
0100B
0101B
0110B
0111B
0D
1D
2D
3D
4D
5D
6D
7D
Technische Berufschule Zürich IT
1111B
1110B
1101B
1100B
1011B
1010B
1001B
1000B
-1D
-2D
-3D
-4D
-5D
-6D
-7D
-8D
1.
Alle Binärstellen negieren
(invertieren)
2.
Zahl 1 dazu addieren
Seite 25
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
7. Einfache Komplementbildung
Die negativen Zahlen werden durch 2-er-Komplementbildung erstellt!
0100
4
Umwandlungsbeispiel
4D = 0100B
3
5
6
2
4
5
6
7
2
1
1
7
1000
3
0
8
0
0000
9
C
0D
1D
2D
3D
4D
5D
6D
7D
Technische Berufschule Zürich IT
Invertiere alle Binärstellen
1011B +
0001B
1100 B
Addiere 1 dazu
Ergibt -4D
Rechnungsbeispiel:
3D – 5D = -2D oder 3D + -5D = -2D
1100
0000B
0001B
0010B
0011B
0100B
0101B
0110B
0111B
0100 B
1011B
1111B
1110B
1101B
1100B
1011B
1010B
1001B
1000B
3D = 0011B
5D = 0101B inv
-1D
-2D
-3D
-4D
-5D
-6D
-7D
-8D
-5D=
3D + -5D
Seite 26
1010B +
0001B
1011B
0011B +
1011B
1110B
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
8. Unterscheidung von Zahlen grösser/kleiner 5
Dies erleichtert das Runden von Zahlen. (Runden bedeutet: >= 5 wird aufgerundet, sonst abgerundet)
DEC
Das 4. Digit
gibt Auskunft
über < 5 oder
>= 5 !
Damit ist sofort
ersichtlich, wie
die nächsthöhere
Zahl gerundet
werden müsste!
Technische Berufschule Zürich IT
Codetabelle
4. Digit
3. Digit
2. Digit
1. Digit
0
0
X
X
X
1
0
X
X
X
2
0
X
X
X
3
0
X
X
X
4
0
X
X
X
5
1
X
X
X
6
1
X
X
X
7
1
X
X
X
8
1
X
X
X
9
1
x
x
X
Seite 27
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
9. Unterscheidung gerader/ungerader Zahlen
DEC
Technische Berufschule Zürich IT
BINAER
4. Digit
3. Digit
2. Digit
1. Digit
0
x
X
X
0
1
X
X
X
1
2
X
X
X
0
3
X
X
X
1
4
X
X
X
0
5
X
X
X
1
6
X
X
X
0
7
X
X
X
1
8
X
X
X
0
9
X
x
x
1
Seite 28
Das 1. Digit
gibt Auskunft
darüber, ob
die Zahl gerade
oder ungerade
ist.
(even=gerade)
(odd=ungerade)
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
B. Codierung von Text
Der ASCII-Code (American Standard Code for Information Interchange)
ASCII
Zeichenvorrat 1:
Zeichenvorrat 2:
A,B,C,D...Z,a,b,c…z,0,1..9, usw.
0,1
Codetabelle ASCII: (Auszug)
‚A‘
‚B‘
‚C‘
usw.
0100‘0001 (41h, 65d)
0100‘0010
(42h, 66d)
0100‘0011 (43h, 67d)
Im File würde stehen:
010000010100001001000010 (=ABB)
Technische Berufschule Zürich IT
Seite 29
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
B. Codierung von Text
Die abgebildete ASCII-ZeichenSatztabelle entspricht der
Code-Page 437 und ist mit der
IBM-Standard-Zeichensatztabelle
identisch.
Zeichen 00 bis 1F sind
ASCII-Steuerzeichen
(Siehe nächste Seite!)
Legende:
Hexcode
ASCII-Zeichen
Dezimalcode
ASCII-Tabelle
Technische Berufschule Zürich IT
Seite 30
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
B. Codierung von Text
Die ASCII-Steuerzeichen:
Diese werden verwendet, um zB. während der Datenübertragung Zustände (zB. Bereitschaft zum
Empfangen) zu kennzeichnen und Aktionen (zB. Zeilenvorschub beim Drucken) zu veranlassen. Diese
Zeichen bzw. Steuerzeichen sind nicht druckbar. Die Steuerzeichen stammen aus der Zeit, als der ASCIICode zur Nachrichtenübermittlung zwischen Fernschreibern und zur Steuerung von Geräten verwendet
wurde.
Technische Berufschule Zürich IT
Seite 31
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
B. Codierung von Text
Unicode V2.0
Der Unicode kann max. 8 Byte (=64bit) lang sein: U+xxxxxxxx
Es sind allerdings bei Unicode V2.0 erst 17 Bereiche (engl. Planes) zu je 65‘536 Zeichen (= 1‘114‘112
Zeichen von U+0000‘0000 bis U+0010‘FFFF) definiert!
Die wichtigste Ebene ist die erste Ebene, die Basic Multilingual Plane (BMP, Grundlegende mehrsprachiger Codebereich), auch Plane 0 genannt.
Darstellung einzelner Codes (Codepoints) U+xxxx
Die wichtigsten Kodierungsformen:
UTF-16
Universal Multiple-Octet Coded Character Set (UCS) Transformation Format for 16 Planes of Group 00
Interne Zeichendarstellung in diversen OS
Die BMP enthält die Unicode-Zeichen, deren Code im Bereich U+0000 bis U+FFFF liegt.
UTF-8
8-bit UCS Transformation Format
Unterstützt bis zu 4 Byte
Am weitesten verbreitet
UNIX-OS und Web/Email
Technische Berufschule Zürich IT
Seite 32
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
B. Codierung von Text
UTF-8 Unicode-Zeichen größer als 127 werden in der UTF-8-Kodierung zu Byteketten der Länge zwei bis vier kodiert.
Unicode-Bereich (Hexadez.)
UTF-8 Kodierung (Binär)
Bemerkungen
0000 0000 – 0000 007F
0xxx xxxx
In diesem Bereich (128 Zeichen) entspricht
UTF-8 genau dem ASCII-Code: Das höchste
Bit ist 0, die restliche 7-Bit-Kombination ist
das ASCII-Zeichen
0000 0080 – 0000 07FF
110xxxxx 10xxxxxx
0000 0800 – 0000 FFFF
1110xxxx 10xxxxxx 10xxxxxx
0001 0000 – 0010 FFFF
[0001 0000 – 001F FFFF]
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
Technische Berufschule Zürich IT
Seite 33
Das erste Byte enthält binär 11xxxxxx, die
folgenden Bytes 10xxxxxx; die x stehen für
die fortlaufende Bitkombination des UnicodeZeichens. Die Anzahl der Einsen vor der
höchsten 0 im ersten Byte ist die Anzahl der
Bytes für das Zeichen. (In Klammern jeweils
die theoretisch maximal möglichen.)
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
B. Codierung von Text
UTF-8
• Das erste Byte eines UTF-8-kodierten Zeichens nennt man dabei Start-Byte, weitere Bytes nennt man Folgebytes. Startbytes enthalten also die
Bitfolge 11xxxxxx oder 0xxxxxxx, Folgebytes immer die Bitfolge 10xxxxxx.
• Ist das höchste Bit des ersten Bytes 0, handelt es sich um ein gewöhnliches ASCII-Zeichen, da ASCII eine 7-Bit-Kodierung ist und die ersten
128 Unicode-Zeichen den ASCII-Zeichen entsprechen. Damit sind alle ASCII-Dokumente automatisch aufwärtskompatibel zu UTF-8.
• Ist das höchste Bit des ersten Bytes 1, handelt es sich um ein Mehrbytezeichen, also ein Unicode-Zeichen mit einer Zeichennummer größer als
127.
• Sind die höchsten beiden Bits des ersten Bytes 11, handelt es sich um das Start-Byte eines Mehrbytezeichens, sind sie 10, um ein Folge-Byte.
• Die lexikalische Ordnung nach Byte-Werten entspricht der lexikalischen Ordnung nach Buchstaben-Nummern, da höhere Zeichennummern mit
entsprechend mehr 1-Bits im Start-Byte kodiert werden.
• Bei den Start-Bytes von Mehrbyte-Zeichen gibt die Anzahl der höchsten 1-Bits die gesamte Bytezahl des als Mehrbyte-Zeichen kodierten UnicodeZeichens an. Anders interpretiert, die Anzahl der 1-Bits links des höchsten 0-Bits entspricht der Anzahl an Folgebytes plus eins, z. B. 1110xxxx
10xxxxxx 10xxxxxx = drei Bits vor dem höchsten 0-Bit = drei Bytes insgesamt, zwei Bits nach dem höchsten 1-Bit vor dem höchsten 0-Bit = zwei
Folgebytes.
• Start-Bytes (0xxx xxxx oder 11xx xxxx) und Folge-Bytes (10xx xxxx) lassen sich eindeutig voneinander unterscheiden. Somit kann ein Byte-Strom
auch in der Mitte gelesen werden, ohne dass es Probleme mit der Dekodierung gibt, was insbesondere bei der Wiederherstellung defekter Daten
wichtig ist. 10xxxxxx Bytes werden einfach übersprungen, bis ein 0xxxxxxx oder 11xxxxxx Byte gefunden wird. Könnten Start-Bytes und FolgeBytes nicht eindeutig voneinander unterschieden werden, wäre das Lesen eines UTF-8-Datenstroms, dessen Beginn unbekannt ist, unter
Umständen nicht möglich.
• Das gleiche Zeichen kann theoretisch auf verschiedene Weise kodiert werden (Zum Beispiel „a“ als 0110 0001 oder fälschlich als
11000001 10100001). Jedoch ist nur die jeweils kürzest mögliche Kodierung erlaubt.
• In UTF-8 (1..4 Byte), UTF-16 (16 Bit älteste Variante) und UTF-32 (32 Bit) ist der gesamte Wertebereich von Unicode kodiert.
Technische Berufschule Zürich IT
Seite 34
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
B. Codierung von Text
Beispiele für UTF-8-Kodierungen
(UTF-8 unterstützt bis zu 4 Byte)
Zeichen
Unicode
Unicode (Binär)
UTF-8 (Binär)
UTF-8 (Hexadez.)
Buchstabe y
U+0079
00000000 01111001
01111001
0x79
Buchstabe ä
U+00E4
00000000 1110 0100
11000011 1010 0100
0xC3 0xA4
Zeichen für
eingetragene
Marke ®
U+00AE
0000 0000 1010 1110
11000010 1010 1110
0xC2 0xAE
U+20AC
0010 0000 1010 1100
11100010 10000010 10101100
0xE2 0x82 0xAC
U+1D11E
00000001 11010001 00011110
11110000 10011101 10000100 10011110
0xF0 0x9D 0x84 0x9E
Eurozeichen €
Violinschlüssel
Das letzte Beispiel liegt außerhalb vom Unicode V2.0 (16 Bit), der in der aktuellen Unicode-Version 5.2.0 als BMP-Bereich (Ebene 0) enthalten ist, im SMP-Bereich (Ebene 1).
Da derzeit viele Schriftarten diese neuen Unicode-Bereiche noch nicht enthalten, können die dort enthaltenen Zeichen auf vielen Plattformen nicht korrekt dargestellt werden.
Es erscheint ein Platzhalter.
Technische Berufschule Zürich IT
Seite 35
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
B. Codierung von Text
UTF-8 Eingabemethoden
• Notation bei HTML und XML: &#0000; für dezimale Notation bzw. &#x0000; für hexadezimale Notation, wobei das 0000 die Unicode-Nummer des
Zeichens darstellt.
• Ab Windows 2k kann in einigen Programmen (genauer in RichEdit-Feldern) der Code dezimal als Alt+<dezimales Unicode> auf dem numerischen
Tastaturfeld eingegeben werden.
• Ab Microsoft Word 2002 kann Unicode auch hexadezimal eingegeben werden, indem im Dokument <Unicode> oder U+<Unicode> eingetippt wird
und anschließend die Tastenkombination Alt+C im Dokument bzw. Alt+X in Dialogfeldern gedrückt wird.
• In Powerpoint: Alt-Taste gedrückt halten und auf dem Zahlenbloch den Unicode in Dezimal eingeben.
z.B. Für den Pipe: Unicode in Hexadezimal 007c in Dezimal 124. Somit ALT + 124 (Auf dem Zahlenblock eingeben!)
• Ob das entsprechende Unicode-Zeichen auch tatsächlich am Bildschirm erscheint, hängt davon ab, ob die verwendete Schriftart eine Glyphe für
das gewünschte Zeichen (also eine Grafik für die gewünschte Zeichennummer) enthält. WIN: Siehe charmap.exe
Technische Berufschule Zürich IT
Seite 36
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
C. Codierung von Bildern
Bilder: Bitmap Schwarz-Weiss
Zeichenvorrat 1:
Zeichenvorrat 2:
Schwarz, Weiss
0,1
12 Pixel
Codetabelle:
= 1
●
= 0
9 Pixel
Technische Berufschule Zürich IT
Seite 37
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
C. Codierung von Bildern
Bilder: Bitmap Graustufen
Zum Beispiel 16 Graustufen (=4Bit)
0,1
50 Pixel
Zeichenvorrat 1:
Zeichenvorrat 2:
Codetabelle
Technische Berufschule Zürich IT
50 Pixel
Seite 38
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
C. Codierung von Bildern
Bilder: Bitmap Farbig (TrueColor)
Zeichenvorrat 1:
Zeichenvorrat 2:
TrueColor=224 oder 16.7 Mio Farben (RGB je 8 Bit)
0,1
Codetabelle: (Auszug)
150 Pixel
= 1111‘1111 0000‘0000 0000‘0000
= 0000‘0000 1111‘1111 0000‘0000
= 0000‘0000 0000‘0000 1111‘1111
usw.
R (Rot)
Technische Berufschule Zürich IT
G (Grün)
B (Blau)
100 Pixel
Seite 39
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
D. Selbstkorrigierender Code
(Hamming Code)
Die Hammingdistanz h gibt die Anzahl Stellen an, in denen sich zwei beliebige Worte eines Codes
unterscheiden müssen.
Fehlererkennung: h-1
(Bsp. h=2, somit 1 Bit Fehler erkennbar)
Fehlerkorrektur: 2*r+1
(Bsp. h=3, 1 Bit Fehler erkenn- und korrigierbar)
(r = korrigerbare Bitfehler)
EDC : Error Detecting Code
ECC : Error Correcting Code (Es muss gelten: h>=3)
Bsp.: Ausschnitt einer Daten-Übertragung (Code mit Hammingdistanz=2)
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
Technische Berufschule Zürich IT
2 Stellen wechseln = ok !
2 Stellen wechseln = ok !
3 Stellen wechseln = nok !
Seite 40
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
D. Selbstkorrigierender Code
(Hamming Code)
Beispiel:
Es wird der Buchstabe H übertragen (H=48H = 1001000B)
Achtung: ASCII-7Bit-Code!
1001000 in Raster eintragen. Reihe 1-2-4-8 bleiben vorerst leer!
Reihe
11
10
9
8
7
6
5
4
3
2
1
Bitreihe
1
0
0
x
1
0
0
x
0
x
x
Die untenstehende Bitreihe wird übertragen!
Reihe
11
10
9
8
7
6
5
4
3
2
1
Bitreihe
1
0
0
1
1
0
0
1
0
0
0
Technische Berufschule Zürich IT
Seite 41
Zahlentabelle
0000B
0D
0001B
1D
0010B
2D
0011B
3D
0100B
4D
0101B
5D
0110B
6D
0111B
7D
1000B
8D
1001B
9D
1010B
10D
1011B
11D
1011
1100B
12D
1100
1101B
13D
1110B
14D
1111B
15D
Innerhalb Kolonne
zusammenzählen:
Gerades Resultat = 0
Ungerades Resulrat = 1
0111
Resultat in
Reihe 1-2-4-8
füllen
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
D. Selbstkorrigierender Code
(Hamming Code)
Fortsetzung Beispiel: Übertragung fehlerfrei !
Zahlentabelle
Sender
Empfänger
Daten
1 0 0 1 1 0 0 1 0 0 0
Empfängerseitige Kontrolle!
0000B
0D
0001B
1D
0010B
2D
0011B
3D
0100B
4D
0101B
5D
Reihe
11
10
9
8
7
6
5
4
3
2
1
0110B
6D
Bitreihe
1
0
0
1
1
0
0
1
0
0
0
0111B
7D
1000B
8D
Innerhalb Kolonne
zusammenzählen:
Gerades Resultat = 0
Ungerades Resulrat = 1
Total = 0000 heisst:
Keine Fehler in der
Übertragung!
Technische Berufschule Zürich IT
Reihe
Total
Seite 42
4
0100
1001B
9D
7
0111
1010B
10D
8
1000
1011B
11D
11
1011
1100B
12D
0000
1101B
13D
1110B
14D
1111B
15D
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
D. Selbstkorrigierender Code
(Hamming Code)
Fortsetzung Beispiel: Übertragung nicht fehlerfrei !
Zahlentabelle
Sender
Empfänger
Daten
0 0 0 1 1 0 0 1 0 0 0
FEHLER!
Empfängerseitige Kontrolle!
0000B
0D
0001B
1D
0010B
2D
0011B
3D
0100B
4D
0101B
5D
Reihe
11
10
9
8
7
6
5
4
3
2
1
0110B
6D
Bitreihe
0
0
0
1
1
0
0
1
0
0
0
0111B
7D
1000B
8D
Innerhalb Kolonne
zusammenzählen:
Gerades Resultat = 0
Ungerades Resulrat = 1
Total =1011 heisst:
Fehler in der Reihe 11
Somit wird das Bit in
Reihe 11 auf 1 korrigiert!
Technische Berufschule Zürich IT
Reihe
Total
4
0100
1001B
9D
7
0111
1010B
10D
8
1000
1011B
11D
1011
1100B
12D
1101B
13D
1110B
14D
1111B
15D
1 0 0 1 1 0 0 1 0 0 0
Seite 43
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
E. Barcode/Strichcode am Beispiel EAN-8
Der Barcode setzt sich vermeintlich aus dicken und dünnen Strichen
Zusammen. Optisch richtig aber technisch falsch!
Beim EAN besteht jedes Zeichen aus 7 gleich grossen Spalten. Je nach
Codierung werden diese Spalten gefüllt oder leer gelassen.
0=Leer 1=Gefüllt
Beispiel: Das Zeichen 0 aus dem 1. EAN-Zeichensatz lautet: 0001101
Spalte
1
2
3
4
5
6
EAN-8 Barcode
7
Der komplette EAN-8 Barcode besteht aus 8 solcher „Zeichen“!
Technische Berufschule Zürich IT
Seite 44
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
E. Barcode/Strichcode am Beispiel EAN-8
Dezimal
1. Zeichensatz
2. Zeichensatz
Zeichenposition:
0
0001101
1110010
1
0011001
1100110
2
0010011
1101100
3
0111101
1000010
Ergebnisse addieren = Summe
4
0100011
1011100
Differenz der Summe zum vollen Zehner = Prüfziffer
5
0110001
1001110
6
0101111
1010000
7
0111011
1000100
8
0110111
1001000
9
0001011
1110100
1
2
3
4
5
6
7
8
Wert jeder Position multiplizieren:
*3
*1
*3
*1
*3
*1
*3
PZ
Beispiel:
Zeichenposition:
1
2
3
4
5
6
7
8
5
6
1
2
3
4
5
?
Wert jeder Position multiplizieren:
*3
*1
*3
*1
*3
*1
*3
15
6
3
2
9
4
15
Ergebnisse addieren = Summe
15+6+3+2+9+4+15=54
D=6
Differenz der Summe zum vollen Zehner = Prüfziffer
Technische Berufschule Zürich IT
Seite 45
6
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
E. Barcode/Strichcode am Beispiel EAN-8
Viel verbreiteter ist der grosse Bruder des EAN-8: Der EAN-13.
EAN-13 findet man auf Lebensmittelverpackungen, Büchern, DVD‘s
usw.
Der Unterschied liegt darin, dass der EAN-13 aus 13 Zeichen besteht,
Wobei aus Symmetriegründen nur 12 Zeichen direkt codiert werden.
Der Codeblock ist in zwei Hälften mit je 6 Zeichen aufgeteilt.
Das 13. Zeichen wird speziell ermittelt!
Die beiden Randzeichen und das Trennzeichen sind identisch zu EAN-8!
Die eine Blockseite kann mit dem 1. Zeichensatz oder einem davon abgewandelten Zeichensatz codiert werden. Dieser abgewandelte Zeichensatz
entspricht dem 1. Zeichensatz symmetrisch gespiegelt und invertiert
Die Prüfsumme wird auf ähnliche Weise ermittelt und repräsentiert
wie bei EAN-8 das letzte Zeichen im Codeblock.
1. Zeichensatz
Abgewandelter 1. Zeichensatz
2. Zeichensatz
Technische Berufschule Zürich IT
Verpackung mit EAN-13 Barcode
= EAN-Zeichensatz A
= EAN-Zeichensatz B
= EAN-Zeichensatz C
Seite 46
FUG-Aug. 2012
M114
Codes, Kompressions- und Verschlüsselungsverfahren einsetzen
F. Code-Beispiele (Aufzählung)
Numerische Codes
Alphanumerische Codes
Reine Zahlencode:
• Dual-Code
• BCD-Code (Binary coded dezimal)
• Gray-Code
• Aiken-Code (2-4-2-1-Code)
und Exzess-3-Code
• 1-aus-n-Code, 2-aus-5-Code
(2-aus-5 bedeutet: Jeweils 2 Bit
sind binär „1“, die restlichen drei
binär „0“)
Alphabet und Nummern.
Zum Übermitteln von Text (Achtung: Zahlen
sind in diesem Fall bloss Text oder Characters)
•
•
•
ASCI (ISO-7-Bit-Code)
ANSI-ASCII (8-Bit-Code)
Unicode (16-Bit-Code)
Weitere Codes
•
EAN-Code = Strich-Code (engl. Bar-Code)
Technische Berufschule Zürich IT
Seite 47
FUG-Aug. 2012
Document
Kategorie
Uncategorized
Seitenansichten
1
Dateigröße
2 208 KB
Tags
1/--Seiten
melden