M114 Codes, Kompressions- und Verschlüsselungsverfahren einsetzen. Codes. Lehrer: J. Füglistaler. Handy-Pincode kennen Sie?



Ähnliche Dokumente
Codierung von Text. PC in Betrieb nehmen. Der ASCII-Code (American Standard Code for Information Interchange) ASCII

Hauptspeicherinhalt. Ton. Vektorgrafik Bitmapgrafik Digit. Video. 1. Darstellung von Daten im Rechner. Abb. 1.1: Einteilung der Daten

Anzahl Pseudotedraden: Redundanz: Weitere Eigenschaften?

Kapitel 3. Codierung von Text (ASCII-Code, Unicode)

Grundlagen der Technischen Informatik. 2. Übung

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Grundlagen der Informatik

Zahlensysteme: Oktal- und Hexadezimalsystem

Modul 114. Zahlensysteme

Informationsdarstellung im Rechner

Auch 2007 wird diese Empfehlung allerdings immer noch nicht universell befolgt.

Grundlagen Digitaler Systeme (GDS)

Zahlensysteme. Zahl Stellenwert Zahl Zahl =

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung

2 Darstellung von Zahlen und Zeichen

Theoretische Grundlagen der Informatik WS 09/10

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

Grundlagen der Informatik (BSc) Übung Nr. 5

2. Negative Dualzahlen darstellen

Binärdarstellung von Fliesskommazahlen

Unicode und UTF-8. Anna-Katharina Wurst. 28. April WP5 Angewandte Programmierung

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Grundzüge Wirtschaftsinformatik KE 1 Ausgabe Seite 28 von 178

Primzahlen und RSA-Verschlüsselung

Grundlagen der Informatik I Informationsdarstellung

Zeichen bei Zahlen entschlüsseln

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Registrierung am Elterninformationssysytem: ClaXss Infoline

Binär- und Hexadezimal-Zahl Arithmetik.

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das Rechnermodell - Funktion

Binäre Gleitkommazahlen

Lineare Codes. Dipl.-Inform. Wolfgang Globke. Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 19

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

Professionelle Seminare im Bereich MS-Office

Erstellen der Barcode-Etiketten:

Zahlensysteme Seite -1- Zahlensysteme

Vertiefungsstoff zum Thema Darstellung von Zahlen

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

10.1 Auflösung, Drucken und Scannen

Einführung in die Kodierungstheorie

Mediator 9 - Lernprogramm

Gliederung. Was ist der Unicode? Warum gibt es den Unicode? Wie funktioniert er? Wo ist mein Schriftzeichen? Kritische Stimmen

Binär Codierte Dezimalzahlen (BCD-Code)

Das Maschinenmodell Datenrepräsentation

Wissenswertes über binäre Felder

4 Aufzählungen und Listen erstellen

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

YouTube: Video-Untertitel übersetzen

Dossier: Rechnungen und Lieferscheine in Word

1 Mathematische Grundlagen

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Technische Informatik - Eine Einführung

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Anwendungsbeispiele Buchhaltung

Einführung in die Programmierung

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Fehlerhafte Codes und Zauberei

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

0 Im folgenden sei die Wortlänge gleich 8 (d. h.: es wird mit Bytes gearbeitet).

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Computerarithmetik ( )

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

Kapitel 3 Frames Seite 1

Woraus besteht ein Bild? (c) Winfried Heinkele

Run Length Coding und Variable Length Coding

1. Einführung Erstellung einer Teillieferung Erstellung einer Teilrechnung 6

Urlaubsregel in David

Lieferschein Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

EasyWk DAS Schwimmwettkampfprogramm

Fax einrichten auf Windows XP-PC

Einführung in die Informatik I

Anleitung Postfachsystem Inhalt

Klicken Sie auf Weiter und es erscheint folgender Dialog

Informatik 1 Tutorial

QR Code. Christina Nemecek, Jessica Machrowiak

Lehreinheit E V2 Verschlüsselung mit symmetrischen Schlüsseln

Tastatur auf Hebräisch umstellen

Ein Spiel für 2-3 goldhungrige Spieler ab 8 Jahren.

Serien- mit oder ohne Anhang

Ihre Matrikel Nummer: Ihre Unterschrift

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

EDV-Fortbildung Kombi-Schulung Word-Excel Modul Excel. Informationen zum Programm. Die Programmoberfläche von Excel

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Zwischenablage (Bilder, Texte,...)

5. Bildauflösung ICT-Komp 10

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Grundlagen der Theoretischen Informatik, SoSe 2008

Kapitel 1. Zahlendarstellung. Prof. Dr. Dirk W. Hoffmann. Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik

1. Einführung. 2. Die Abschlagsdefinition

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2)

Hinweise zum Ausfüllen der Zeiterfassung

Plotten von Linien ( nach Jack Bresenham, 1962 )

Transkript:

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

Morsecode: ASCII-Code: Dual-Code: Maschinen-Code: Leitungscodes: Genetischer Code: Quellcode: Geheimcode: ISBN-Code: Media-Codecs: Setzt Schriftzeichen in unterschiedlich lange, binäre Zeichenfolgen um Wird im Computer verwendet, um Buchstaben, Zahlen und Satzzeichen durch Bitfolgen darzustellen. Wird im Computer verwendet, um ganze Zahlen in binären Zeichen darzustellen Wird in der Computertechnik verwendet. Stellt ein Programm bzw. eine Art Vorgehensbeschreibung für den Prozessor dar! In der Datenübertragung verwendet, wie zb. der Manchester-Code bei Ethernet. Eine biologische Anleitung, nach der während der Proteinbiosynthese die Informationen der DNA/RNA in Aminosäuresequenzen übersetzt werden. 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 ;-) Mit monoalphabetischer Verschlüsselung werden Buchstaben durch andere Buchstaben ersetzt. (Verschlüsselungsverfahren) International Standard Book Number zur Identifizierung von Büchern MP3-Code, MPEG2-Code, MPEG-4-AVC-Code, Reed-Solomon-Code (Audio-CD) Technische Berufschule Zürich IT Seite 2

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

Einleitung Protokoll, Format und Codierung am Beispiel Ethernet: ARP-Protokoll Anforderung an IP zur Versendung eines Datenpakets an eine IP-Adresse Versenden des Daten- Pakets 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 (=Format) Nutzdaten sind binärcodiert! Technische Berufschule Zürich IT Seite 4 Quelle: www.wut.de

Einleitung Format und Codierung am Beispiel MP3-Datei: Technische Berufschule Zürich IT Seite 5

Einleitung Einteilung Codes/Codierung: Hinweis: Keine abschliessende Aufzählung! Codierungen (Codecs) Leitungscodes (Signalübertragung) MP3 (Audio) JPEG (Bild) MPEG2 (Film) NRZ-Code Manchester-Code Strich-Codes EAN-Codes Codes Binäre Codes Alphanum.-Codes ASCII-Code Unicode Technische Berufschule Zürich IT Seite 6 (Text) 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)

Definition: 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 0, 1 Abbildung 00 = 01 = 10 = 11 = Zeichenvorrat 2,,, Technische Berufschule Zürich IT Seite 7

Definition: 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 Datensenke Coder Decoder Übertragungskanal, Leitung Bidirektional Decoder Coder Datensenke Datenquelle CODEC CODEC Was bedeutet der Begriff Codec? Kunstwort aus Coder-Decoder : Codec Technische Berufschule Zürich IT Seite 8

Beispiel: 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

Beispiel: Parallele Übermittlung von ganzen Zahlen im Bereich 1 bis 45 (Lottozahlen) Lotto-Gesellschaft 1. Verbindung 2. Verbindung 3. Verbindung 4. Verbindung 5. Verbindung 6. Verbindung LSB (Kleinstwertigstes Bit) MSB (Höchstwertigstes Bit) Lotto-Annahmestelle Es braucht 6 Verbindungen! 2 6 = 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

Beispiel: Parallele Übermittlung von ganzen Zahlen im Bereich 1 bis 45 (Lottozahlen) Lotto-Gesellschaft 1. Verbindung 2. Verbindung 3. Verbindung 4. Verbindung 5. Verbindung 6. Verbindung LSB (Kleinstwertigstes Bit) MSB (Höchstwertigstes Bit) Lotto-Annahmestelle Kombinationen die nicht verwendet werden Technische Berufschule Zürich IT Seite 11

Beispiel: Parallele Übermittlung von ganzen Zahlen im Bereich 1 bis 45 (Lottozahlen) Lotto-Gesellschaft 1. Verbindung 2. Verbindung 3. Verbindung 4. Verbindung 5. Verbindung 6. Verbindung LSB (Kleinstwertigstes Bit) MSB (Höchstwertigstes Bit) Lotto-Annahmestelle Wertigkeit MSB: Most Significant Bit (Höchstwertigstes Bit) LSB: Least Significant Bit (Kleinstwertigstes Bit) Technische Berufschule Zürich IT Seite 12

Beispiel: Parallele Übermittlung von ganzen Zahlen im Bereich 1 bis 45 (Lottozahlen) Lotto-Gesellschaft 1. Verbindung 2. Verbindung 3. Verbindung 4. Verbindung 5. Verbindung 6. Verbindung LSB (Kleinstwertigstes Bit) MSB (Höchstwertigstes Bit) Lotto-Annahmestelle 1. Verbindung 2. Verbindung 3. Verbindung 4. Verbindung 5. Verbindung 6. Verbindung t [sec] Technische Berufschule Zürich IT Seite 13

Beispiel: Parallele Übermittlung von ganzen Zahlen im Bereich 1 bis 45 (Lottozahlen) Lotto-Gesellschaft 1. Verbindung 2. Verbindung 3. Verbindung 4. Verbindung 5. Verbindung 6. Verbindung LSB (Kleinstwertigstes Bit) MSB (Höchstwertigstes Bit) Lotto-Annahmestelle Neue Zahlen! 1. Verbindung 2. Verbindung 3. Verbindung 7 * 31?????? 4. Verbindung 5. Verbindung 6. Verbindung t [sec] Technische Berufschule Zürich IT Seite 14

Beispiel: Parallele Übermittlung von ganzen Zahlen im Bereich 1 bis 45 (Lottozahlen) Lotto-Gesellschaft 1. Verbindung 2. Verbindung 3. Verbindung 4. Verbindung 5. Verbindung 6. Verbindung Takt LSB (Kleinstwertigstes Bit) MSB (Höchstwertigstes Bit) 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

Beispiel: Parallele Übermittlung von ganzen Zahlen im Bereich 1 bis 45 (Lottozahlen) Lotto-Gesellschaft 1. Verbindung 2. Verbindung 3. Verbindung 4. Verbindung 5. Verbindung 6. Verbindung Takt LSB (Kleinstwertigstes Bit) MSB (Höchstwertigstes Bit) Lotto-Annahmestelle 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. +4V 0V -4V 1 0 1 0 0 1 1 0 1 Technische Berufschule Zürich IT Seite 16

Beispiel: 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

A. Merkmale von Binärcodes Inhalt: 1. Stellenzahl/Zeichenvorrat (2 Stellenanzahl = 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

1. Stellenzahl/Zeichenvorrat 2 Stellenanzahl = Anzahl mögliche Zeichen Bsp : Eine CD hat in der Amplitude eine Auflösung von 16Bit. 2 16 = 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 = 2 4 =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

3. Gewichtung der einzelnen Binärstellen HEX DEC DUAL 2 3 = 8 2 2 = 4 2 1 = 2 2 0 = 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 Gewichtung der einzelnen Stellen: Komfortable Umrechnung in zb. das 10-er System Wäre das nicht so, müsste eine Wertetabelle vorhanden sein! Technische Berufschule Zürich IT Seite 20

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

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 Änderung nur einer Binärstelle beim Übergang zum nächsten Zahlenwert. Technische Berufschule Zürich IT Seite 22

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

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 0000 B 0 D 0001 B 1 D 0010 B 2 D 0011 B 3 D 0100 B 4 D 0101 B 5 D 0110 B 6 D 0111 B 7 D 1000 B 8 D 1001 B 9D 1010 B 10 D 1011 B 11 D 1100 B 12 D 1101 B 13 D 1110 B 14 D 1111 B 15 D Positive + negative Zahlen 0000 B 0 D 0001 B 1 D 0010 B 2 D 0011 B 3 D 0100 B 4 D 0101 B 5 D 0110 B 6 D 0111 B 7 D 1000 B -8 D 1001 B -7D 1010 B -6 D 1011 B -5 D 1100 B -4 D 1101 B -3 D 1110 B -2 D 1111 B -1 D + - Vorzeichen Positiv : 0 Negativ : 1 Technische Berufschule Zürich IT Seite 24

7. Einfache Komplementbildung Die negativen Zahlen werden durch 2-er-Komplementbildung erstellt! 0100 5 4 3 1000 7 6 8 7 9 6 5 4 3 2 1 0 2 1 0 0000 Eine positive Zahl wird in eine negative Zahl gleichen Betrages umgewandelt: Man nennt dies: C Zweierkomplement bilden Der Weg dazu: 1100 0000 B 0 D 0001 B 1 D 1111 B -1 D 0010 B 2 D 1110 B -2 D 0011 B 3 D 1101 B -3 D 0100 B 4 D 1100 B -4 D 0101 B 5 D 1011 B -5 D 0110 B 6 D 1010 B -6 D 0111 B 7 D 1001 B -7 D 1000 B -8 D 1. Alle Binärstellen negieren (invertieren) 2. Zahl 1 dazu addieren Technische Berufschule Zürich IT Seite 25

7. Einfache Komplementbildung Die negativen Zahlen werden durch 2-er-Komplementbildung erstellt! 5 0100 4 3 Umwandlungsbeispiel 4 D = 0100 B 1000 7 6 8 7 9 6 5 4 C 3 2 1 0 2 1 0 0000 0100 B Invertiere alle Binärstellen 1011 B 1011 B + Addiere 1 dazu 0001 B 1100 B Ergibt -4 D 1100 Rechnungsbeispiel: 3 D 5 D = -2 D oder 3 D + -5 D = -2 D 0000 B 0 D 0001 B 1 D 1111 B -1 D 0010 B 2 D 1110 B -2 D 0011 B 3 D 1101 B -3 D 0100 B 4 D 1100 B -4 D 0101 B 5 D 1011 B -5 D 0110 B 6 D 1010 B -6 D 0111 B 7 D 1001 B -7 D 1000 B -8 D 3 D = 0011 B 5 D = 0101 B inv 1010 B + 0001 B -5 D = 1011 B 3 D + -5 D 0011 B + 1011 B 1110 B Technische Berufschule Zürich IT Seite 26

8. Unterscheidung von Zahlen grösser/kleiner 5 Dies erleichtert das Runden von Zahlen. (Runden bedeutet: >= 5 wird aufgerundet, sonst abgerundet) Das 4. Digit gibt Auskunft über < 5 oder >= 5! Damit ist sofort ersichtlich, wie die nächsthöhere Zahl gerundet werden müsste! DEC 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 Technische Berufschule Zürich IT Seite 27

9. Unterscheidung gerader/ungerader Zahlen DEC 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 Das 1. Digit gibt Auskunft darüber, ob die Zahl gerade oder ungerade ist. (even=gerade) (odd=ungerade) Technische Berufschule Zürich IT Seite 28

B. Codierung von Text Der ASCII-Code (American Standard Code for Information Interchange) ASCII Zeichenvorrat 1: A,B,C,D...Z,a,b,c z,0,1..9, usw. Zeichenvorrat 2: 0,1 Codetabelle ASCII: (Auszug) A 0100 0001 (41h, 65d) B 0100 0010 (42h, 66d) C 0100 0011 (43h, 67d) usw. Im File würde stehen: 010000010100001001000010 (=ABB) Technische Berufschule Zürich IT Seite 29

B. Codierung von Text Die abgebildete ASCII-Zeichen- Satztabelle 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

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 ASCII- Code zur Nachrichtenübermittlung zwischen Fernschreibern und zur Steuerung von Geräten verwendet wurde. Technische Berufschule Zürich IT Seite 31

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

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 Das erste Byte enthält binär 11xxxxxx, die folgenden Bytes 10xxxxxx; die x stehen für die fortlaufende Bitkombination des Unicode- Zeichens. 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.) 0001 0000 0010 FFFF [0001 0000 001F FFFF] 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx Technische Berufschule Zürich IT Seite 33

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 Unicode- Zeichens 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 Folge- Bytes 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

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 Eurozeichen U+20AC 0010 0000 1010 1100 11100010 10000010 10101100 0xE2 0x82 0xAC Violinschlüssel U+1D11E 00000001 11010001 00011110 11110000 10011101 10000100 10011110 0xF0 0x9D 0x84 0x9E 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

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

C. Codierung von Bildern Bilder: Bitmap Schwarz-Weiss Zeichenvorrat 1: Schwarz, Weiss Zeichenvorrat 2: 0,1 Codetabelle: = 1 = 0 12 Pixel 9 Pixel Technische Berufschule Zürich IT Seite 37

C. Codierung von Bildern Bilder: Bitmap Graustufen Zeichenvorrat 1: Zum Beispiel 16 Graustufen (=4Bit) Zeichenvorrat 2: 0,1 50 Pixel Codetabelle 50 Pixel Technische Berufschule Zürich IT Seite 38

C. Codierung von Bildern Bilder: Bitmap Farbig (TrueColor) Zeichenvorrat 1: TrueColor=2 24 oder 16.7 Mio Farben (RGB je 8 Bit) Zeichenvorrat 2: 0,1 Codetabelle: (Auszug) = 1111 1111 0000 0000 0000 0000 = 0000 0000 1111 1111 0000 0000 = 0000 0000 0000 0000 1111 1111 150 Pixel usw. R (Rot) G (Grün) B (Blau) 100 Pixel Technische Berufschule Zürich IT Seite 39

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 2 Stellen wechseln = ok! 2 Stellen wechseln = ok! 3 Stellen wechseln = nok! 1 0 0 0 Technische Berufschule Zürich IT Seite 40

D. Selbstkorrigierender Code (Hamming Code) Beispiel: Es wird der Buchstabe H übertragen (H=48 H = 1001000 B ) 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 Zahlentabelle 0000 B 0 D 0001 B 1 D 0010 B 2 D 0011 B 3 D 0100 B 4 D 0101 B 5 D 0110 B 6 D 0111 B 7 D 1000 B 8 D 1001 B 9 D 1010 B 10 D 1011 B 11 D 1100 B 12 D 1101 B 13 D 1110 B 14 D 1111 B 15 D Innerhalb Kolonne zusammenzählen: Gerades Resultat = 0 Ungerades Resulrat = 1 0111 1011 1100 Resultat in Reihe 1-2-4-8 füllen Technische Berufschule Zürich IT Seite 41

D. Selbstkorrigierender Code (Hamming Code) Fortsetzung Beispiel: Übertragung fehlerfrei! Zahlentabelle Sender Daten Empfänger 0000 B 0 D 0001 B 1 D 1 0 0 1 1 0 0 1 0 0 0 0010 B 2 D 0011 B 3 D Empfängerseitige Kontrolle! Reihe 11 10 9 8 7 6 5 4 3 2 1 Bitreihe 1 0 0 1 1 0 0 1 0 0 0 0100 B 4 D 0101 B 5 D 0110 B 6 D 0111 B 7 D Innerhalb Kolonne zusammenzählen: Gerades Resultat = 0 Ungerades Resulrat = 1 Total = 0000 heisst: Keine Fehler in der Übertragung! Reihe 4 0100 7 0111 8 1000 11 1011 Total 0000 1000 B 8 D 1001 B 9 D 1010 B 10 D 1011 B 11 D 1100 B 12 D 1101 B 13 D 1110 B 14 D 1111 B 15 D Technische Berufschule Zürich IT Seite 42

D. Selbstkorrigierender Code (Hamming Code) Fortsetzung Beispiel: Übertragung nicht fehlerfrei! Zahlentabelle Sender Daten Empfänger 0000 B 0 D 0001 B 1 D 0 0 0 1 1 0 0 1 0 0 0 0010 B 2 D 0011 B 3 D FEHLER! Empfängerseitige Kontrolle! Reihe 11 10 9 8 7 6 5 4 3 2 1 Bitreihe 0 0 0 1 1 0 0 1 0 0 0 0100 B 4 D 0101 B 5 D 0110 B 6 D 0111 B 7 D 1000 B 8 D 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! Reihe 4 0100 7 0111 8 1000 Total 1011 1 0 0 1 1 0 0 1 0 0 0 1001 B 9 D 1010 B 10 D 1011 B 11 D 1100 B 12 D 1101 B 13 D 1110 B 14 D 1111 B 15 D Technische Berufschule Zürich IT Seite 43

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 7 EAN-8 Barcode Der komplette EAN-8 Barcode besteht aus 8 solcher Zeichen! Technische Berufschule Zürich IT Seite 44

E. Barcode/Strichcode am Beispiel EAN-8 Dezimal 1. Zeichensatz 2. Zeichensatz 0 0001101 1110010 1 0011001 1100110 2 0010011 1101100 3 0111101 1000010 4 0100011 1011100 5 0110001 1001110 6 0101111 1010000 7 0111011 1000100 8 0110111 1001000 9 0001011 1110100 Zeichenposition: 1 2 3 4 5 6 7 8 Wert jeder Position multiplizieren: *3 *1 *3 *1 *3 *1 *3 Ergebnisse addieren = Summe Differenz der Summe zum vollen Zehner = Prüfziffer 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 6 Technische Berufschule Zürich IT Seite 45

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. Verpackung mit EAN-13 Barcode 1. Zeichensatz = EAN-Zeichensatz A Abgewandelter 1. Zeichensatz = EAN-Zeichensatz B 2. Zeichensatz = EAN-Zeichensatz C Technische Berufschule Zürich IT Seite 46

F. Code-Beispiele (Aufzählung) Numerische 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 ) Alphanumerische Codes 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