2. ASCII-Code
Transcrição
2. ASCII-Code
Kapitel 3 Codierung von Text (ASCII-Code, Unicode) 1 Kapitel 3 – Codierung von Text 1. Einleitung 2. ASCII-Code 3. Unicode 2 1. Einleitung Ein digitaler Rechner muss jede Information als eine Folge von 0 und 1 darstellen, d. h. damit ein Rechner Information verarbeiten kann, muss diese zuerst codiert werden und nach der Verarbeitung wieder decodiert werden. Beispiel: 17 + 4 = ? 17 4 Codierung 10001 + 100 10101 21 Decodierung 3. Codierung von Text (ASCII, Unicode) 3 1. Einleitung • Codierung ist die Zuordnung der Elemente einer Menge (eines Zeichenvorrats) zu den Elementen einer anderen Menge (neuer Zeichenvorrat), d. h. eine Codierung ist eine Abbildung. • Beispiel: 2er-Komplementdarstellung mit 8-Bit -128 -127 . . . -1 0 +1 . . . 126 127 10000000 10000001 . . . 11111111 00000000 00000001 . . . 01111110 01111111 3. Codierung von Text (ASCII, Unicode) 4 1. Einleitung Codierung von Text: Um Text in einem Rechner darzustellen, zu verarbeiten oder in einem Netzwerk zu übertragen, müssen die Buchstaben, Satzzeichen usw. in Bitfolgen codiert werden. Für die Art dieser Codierung jedes einzelnen Zeichens gibt es verschiedene Standards, zum Beispiel ASCII und Unicode. 3. Codierung von Text (ASCII, Unicode) 5 Kapitel 3 – Codierung von Text 1. Einleitung 2. ASCII-Code 3. Unicode 6 2. ASCII-Code Betrachtet man den allgemeinen Fall einer rechnerbasierten Darstellung, Verarbeitung oder Übertragung von Text, so sind mindestens zu codieren/decodieren: • • • • • • 26 Großbuchstaben 26 Kleinbuchstaben 10 Ziffern ca. 16 Sonderzeichen (+, -, *, =, !, # usw.) ca. 10 Steuerzeichen (Zeilenumbruch, Tabulator usw.) 1 Leerzeichen Dies ergibt insgesamt ca. 89 Zeichen. Mit 6 Bit können 64, mit 7 Bit können 128 verschiedene Kombinationen dargestellt werden. Für die eindeutige Darstellung eines Zeichens des oben angegebenen „Alphabets“ sind also mindestens 7 Binärstellen erforderlich. 3. Codierung von Text (ASCII, Unicode) 7 2. ASCII-Code ASCII-Code (American Standard Code for Information Interchange) • Weit verbreiteter Standard zur Darstellung von Zeichen (Buchstaben, Ziffern, Sonderzeichen) und Steuerzeichen durch Bitfolgen – Binärcode. • Verfahren, bei dem bestimmten Zeichen (Buchstaben, Ziffern und Sonderzeichen) eine Zahl zwischen 0 und 127 zugeordnet wird. • (Nicht druckbare) Steuerzeichen besitzen ASCII Codes kleiner als 32. • Der ursprüngliche ASCII-Code ist ein 7-Bit-Code, d. h. Zeichen werden durch eine Folge von 7 Bits dargestellt; es lassen sich 128 verschiedene Zeichen darstellen. Buchstabe „H“ : Ziffer „5“ : Wort „Hallo“ : Zahl „23“ : (72)10 = (100 1000)2 = (48)16 (53)10 = (011 0101)2 = (35)16 dezimal 72 97 108 108 111 hex 48 61 6C 6C 6F (011 0010 )2 (011 0011)2 hex 3216 3316 3. Codierung von Text (ASCII, Unicode) 8 2. ASCII-Code 7-Bit-ASCII-Code Welche Zeichen fehlen? Heute arbeiten fast alle Rechner mit 8-BitCodes (erweiterte ASCII-Codes). Das zusätzliches Bit verdoppelt die Anzahl der darstellbaren Zeichen. 3. Codierung von Text (ASCII, Unicode) 9 2. ASCII-Code Erweiterte ASCII-Codes sind 8-Bit-Codes (ein Byte pro Zeichen) • Sie umfassen den 7-Bit ASCII-Code (links Bit mit Wert 0 anfügen). Buchstabe E: (69)10 = (0100 0101)2 = (45)16 • Um Zeichen aus vielen verschiedenen Ländern abzudecken (wie ä, ß und é), wurden verschiedene erweiterte ASCII-Codes definiert, die sich nur in den Zeichen 128 bis 255 unterscheiden. Normierung ISO 8859 - Latin1 (West European) Latin3 (South European) Cyrillic - Arabic Hebrew - Latin5 (Turkish) - Latin2 (East European) Latin4 (North European) Greek Latin6 (Nordic) Die meisten westeuropäischen und nordamerikanischen Zeichen werden durch den Zeichensatz ISO 8859 Latin-1 abgedeckt. Die erweiterten ASCII-Codes führen oft zu Fehlern bei der Informationsübertragung, weil Sender und Empfänger verschiedene erweiterte ASCII-Codes verwenden oder auch Nicht-ASCII-Codes. In E-Mails werden oft die deutschen Umlaute ä, ö, ü falsch dargestellt. ASCII-Code 196 entspricht zum Beispiel Ä bei Latin1-4 und bei Greek. 3. Codierung von Text (ASCII, Unicode) 10 2. ASCII-Code ISO 8859 Latin-1, Übersicht nicht belegt Steuerzeichen Buchstabe „Ä“: (C4)16 =12·16+4=196 3. Codierung von Text (ASCII, Unicode) 11 2. ASCII-Code • Die Tabelle auf der folgenden Seite zeigt einen Ausschnitt aus dem Zeichensatz, der unter Windows verwendet wird, die so genannte Windows Codepage 1252 (auch „Windows ANSI“ oder „WinLatin1“). • Dieser Zeichensatz ist an ISO-8851-Latin1 angelehnt, unterscheidet sich aber von diesem. Größter Unterschied zu ISO-Latin-1 ist die Tatsache, dass im Bereich 128 - 159 (8016 - 9F16) anstelle von Steuerzeichen meist druckbare Zeichen codiert sind. • Alle Zeichen dieser Codepage können im Notepad auch über die numerische Tastatur eingegeben werden, falls das entsprechende Zeichen auf der Tastatur fehlt. Hierzu muss man die Alt-Taste drücken und den Zeichencode als vierstellige Zahl eingeben, zum Beispiel erzeugt Alt+0128 das Eurosymbol. 3. Codierung von Text (ASCII, Unicode) 12 2. ASCII-Code Ausschnitt aus der Windows-Codepage 1252: 3. Codierung von Text (ASCII, Unicode) 13 Kapitel 3 – Codierung von Text 1. Einleitung 2. ASCII-Code 3. Unicode 14 3. Unicode Ein Zeichen besteht aus 16 Bit (2 Byte) – 65536 verschiedene Zeichen: • Länderspezifische Zeichen, mathematische Symbole sind darstellbar. • Unicode 3.0 definiert 49194 Zeichen. • 27484 für ideographische Zeichen (chinesische Schriftzeichen). • Die ersten 127 Zeichen im Unicode entsprechen dem 7-Bit-ASCIICode, die ersten 255 Zeichen entsprechen ISO-8859-Latin-1, danach folgen (viele!) andere Zeichen. • Einsatz bei Betriebssystemen, Applikationen, Internetprotokollen Internationalisierung (Windows-Betriebssystem und -Anwendungen für europäischen und asiatischen Markt). • Durch einen Erweiterungsmechanismus lassen sich inzwischen über 106 Zeichen darstellen – Unicode 3.1 definiert 94140 Zeichen. Beispiele: • Eurosymbol € 20AC16 (auch als U+20AC geschrieben) • Integralzeichen ∫ 222B 16 (auch als U+222B geschrieben) • 20AC bzw. 222B müssen als Hexadezimalzahl interpretiert werden. 3. Codierung von Text (ASCII, Unicode) 15 3. Unicode ISO-Latin1 Chinesische, Japanische, Koreanische Schriftzeichen Erweiterungsmechanismus: Jeweils 2 aufeinander folgende 16-Bit-Paare bilden ein Zeichen 106 Zeichen darstellbar 3. Codierung von Text (ASCII, Unicode) 16 3. Unicode Unicode-Demo im Notepad… 3. Codierung von Text (ASCII, Unicode) 17