Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

8.Januar 2007 ― 1Elektronisches Publizieren: Zeichenkodierung mit Unicode Zeichenkodierungen für Inhalte im Web — Unicode — Anne Brüggemann-Klein TU München.

Ähnliche Präsentationen


Präsentation zum Thema: "8.Januar 2007 ― 1Elektronisches Publizieren: Zeichenkodierung mit Unicode Zeichenkodierungen für Inhalte im Web — Unicode — Anne Brüggemann-Klein TU München."—  Präsentation transkript:

1 8.Januar 2007 ― 1Elektronisches Publizieren: Zeichenkodierung mit Unicode Zeichenkodierungen für Inhalte im Web — Unicode — Anne Brüggemann-Klein TU München

2 8.Januar 2007 ― 2Elektronisches Publizieren: Zeichenkodierung mit Unicode Grundbegriff Zeichenkodierung o Glatter (plain ) Text in Schriftform als eine Folge von elementaren Texteinheiten (Buchstaben, Ziffern, Interpunktionszeichen etc.) o inklusive Escape-Mechanismen und Markup (Protokolle auf höherer, syntaktisch definierter Ebene) o Gegensatz: Formatierter (fancy ) Text mit Schriftattributen, Randausgleich, Seiteneinteilung etc. o XML definiert als glatter Text, strukturiert nach Syntaxregeln o Kodierung des Textes in Bits und Bytes zur Repräsentation im Computer nach den Regeln einer Zeichenkodierung o Problemstellung: Vielzahl von Textzeichen und nationalen Kodierungen

3 8.Januar 2007 ― 3Elektronisches Publizieren: Zeichenkodierung mit Unicode Standards … o ASCII (American Standard Code for Information Interchange) o Das Original: US-ASCII (ANSI X3.4)  iso646-us.gifiso646-us.gif o Die Kodetabelle für US-ASCII ordnet den druckbaren Zeichen (Zeichensatz, Zeichenvorrat) Kodepositionen im Bereich 32 bis 126 zu; die Kodepositionen von 0 bis 31 und Position 127 sind für Kontrollzwecke reserviert o Das Kodierungsschema für US-ASCII ordnet einer Zahl zwischen 0 und 127 ihre Binärdarstellung in einem Byte zu; dabei ist das höchstwertige Bit immer 0 (7-Bit-ASCII)  Kodetabelle und Kodierungsschema fallen zusammen

4 8.Januar 2007 ― 4Elektronisches Publizieren: Zeichenkodierung mit Unicode … Standards … o ISO 646 weitgehend identisch mit US-ASCII Positionen von @[\]{|}#$^`~ für nationalen Gebrauch frei ASCII-Varianten belegen „unsichere“ Positionen o 16 nationale Varianten von ISO 646 z.B. ISO 646-DE für Deutsch  iso646-de.gifiso646-de.gif o ISO 8859-1 (ISO Latin 1) erweitert die Kodetabelle von US-ASCII um Zeichen an den Positionen 128 bis 255 Kodierungsschema ebenfalls trivial (8-Bit-ASCII)  iso8859-1.gifiso8859-1.gif o Andere ASCII-Erweiterungen in der ISO 8859-Familie: ISO 8859-9 für die türkische Sprache und ISO 8859-15 mit Euro-Symbol

5 8.Januar 2007 ― 5Elektronisches Publizieren: Zeichenkodierung mit Unicode … Standards … o Windows 1252 ist eine Variante von ISO 8859-1, die einige Kontrollpositionen mit druckbaren Zeichen belegt  cp1252.gifcp1252.gif o Unicode bzw. ISO/IEC 10646 definieren eine Kodetabelle für einen universellen Zeichensatz, der alle Schriften der Welt umfassen soll o kodieren derzeit (Unicode 5.0) 99.089 Zeichen o standardisierte Zeichensätze bereits abgedeckt Universal Character Set (UCS)  simultane Verwendung verschiedener Zeichensätze

6 8.Januar 2007 ― 6Elektronisches Publizieren: Zeichenkodierung mit Unicode … Standards … o Standardisierte Kodetabellen SpracheKodetabelleUmfang EnglischUS-ASCII (ISO 646 IRV:1991)94 Deutsch/Franz.ISO 8859-1:1987191 ChinesischGB 2312-807.445 ChinesischBig 513.523 JapanischJIS X 0208-19906.897 KoreanischKS C 5601-19928.224 AlleISO/IEC 10646-1:200049.194 (Unicode 3.0)

7 8.Januar 2007 ― 7Elektronisches Publizieren: Zeichenkodierung mit Unicode … Standards o Standardisierte Kodierungsschemata KodierungKodetabelleBytes Shift-JISJIS X 0208-19902 EUC-JPJIS X 0208-1990 and2 JIS X 0212-1990 Big 5Big 52 EUC-KRKS C 5601-19922 UTF-8Unicode 3.0 3/6

8 8.Januar 2007 ― 8Elektronisches Publizieren: Zeichenkodierung mit Unicode Grundbegriff Kodierungsmodell o Kodierungsmodell als konzeptueller Rahmen, innerhalb dessen wir die Kodierung von einigen Milliarden Zeichen in Bitmuster strukturieren und so besser verstehen können o abstrakter Zeichensatz o Kodetabelle o Kodierungsformat o Kodierungsschema o Escape-Mechanismen Vom abstrakten Zeichen zum konkreten Bitmuster

9 8.Januar 2007 ― 9Elektronisches Publizieren: Zeichenkodierung mit Unicode Unicode im Kodierungsmodell: Zeichensatz … o Abstraktes Zeichen (character) als elementare Texteinheit, also als Informationseinheit, die zur Repräsentation, Organisation oder Kontrolle von Text dient o Buchstaben, Ziffern, Interpunktionszeichen, Akzente, graphische Symbole, ideographische Zeichen, Leerzeichen, Tabulatoren, Line Feed, Kontrollkodes o Andere Ebenen des Zeichenbegriffs A o Glyph (glyph) als abstrakte Form zur graphischen Darstellung von Text, z.B. die abstrakte Form des "A", konkretisiert durch Glyphenbilder A A A A A o Eingabezeichen (Tastendruck) o Klangzeichen (Phonem, Silbe, Wort) o kombinierte Zeichen (Ligaturen: fi, ffl; cs, dz, dzs (ungarisch))

10 8.Januar 2007 ― 10Elektronisches Publizieren: Zeichenkodierung mit Unicode … Unicode im Kodierungsmodell: Zeichensatz … o Komplexe Beziehung zwischen abstrakten Zeichen, Glyphen und Eingabezeichen A A f+i f+l öo+¨  oder  kontextuelle Formen Vokale als Zeichen mit Akzenten

11 8.Januar 2007 ― 11Elektronisches Publizieren: Zeichenkodierung mit Unicode … Unicode im Kodierungsmodell: Zeichensatz … o Abstrakter Zeichensatz (character repertoire) als Menge von abstrakten Zeichen o definiert über die Angabe von Namen für die Zeichen und eine Reihe von typischen Glyphen für die Zeichen o keine Ordnung oder Numerierung o abhängig von der Sprache o abhängig von der Verarbeitungsfunktion: spanisches „ll“ wird für das Sortieren als ein Zeichen betrachtet, aber für Eingabe und Anzeige als zwei Zeichen

12 8.Januar 2007 ― 12Elektronisches Publizieren: Zeichenkodierung mit Unicode … Unicode im Kodierungsmodell: Zeichensatz o Schrift, auch Alphabet (script oder alphabet) als ein Zeichensatz für eine bestimmte Sprache oder Familie von Sprachen: lateinische Schrift, griechische Schrift, hebräische Schrift, chinesische Schrift o Entwicklungsziele für Unicode-Zeichensatz o Kodierung aller Alphabete der Welt o Basis für Implementierung nützlicher Verarbeitungsprozesse für Textdaten o Designprinzipien für Unicode o Unicode kodiert Zeichen, nicht Glyphen o Unicode kodiert glatten Text, keine Formatinformation

13 8.Januar 2007 ― 13Elektronisches Publizieren: Zeichenkodierung mit Unicode Unicode im Kodierungsmodell: Kodetabelle … o Kodetabelle für einen Zeichensatz (code table oder (coded) character set oder character code) als eine Tabelle, in der jedes Zeichen eines Zeichensatzes eine Nummer (Kodeposition) erhält o Kode oder Kodeposition eines Zeichens in Bezug auf eine Kodetabelle (code set position, code point, character number) als die dem Zeichen in der Kodetabelle zugeordnete Nummer, gerne angegeben in Hexadezimalnotation o Kodepositionen in aufsteigender Reihenfolge von 0 an, mit Lücken: Koderaum o Größe des Koderaums bestimmt die Zahl der Bits, die zur Darstellung der Kodepositionen notwendig ist (8 Bit = 256 Werte, 16 Bit = 65.536 Werte im Koderaum)

14 8.Januar 2007 ― 14Elektronisches Publizieren: Zeichenkodierung mit Unicode … Unicode im Kodierungsmodell: Kodetabelle … KodierungKoderaumKodepositionen US-ASCII0-7F128 7 Bit ISO 8859-X0-FF256 8 Bit Unicode0-10FFFF65.536+1.048.576 „21“ Bit ISO/IEC 106460-7FFFFFFF2.147.483.648 31 Bit

15 8.Januar 2007 ― 15Elektronisches Publizieren: Zeichenkodierung mit Unicode … Unicode im Kodierungsmodell: Kodetabelle … Strukturierung des Koderaums für Unicode bis FFFF (Ebene 0) o 256 (16  16) Kacheln (Adressen 00 bis FF, 0 bis 255) mit 256 (16  16) Positionen (Adressen 00 bis FF, 0 bis 255) o Beispiel: Position 10FF ist das Zeichen 255 in Kachel 16 o In Kachel 0: 65 nicht druckbare Zeichen (Kontrollzeichen) an Positionen 00-1F, 7F, 80-9F o 2.048 Surrogatpositionen (D800-DFFF): 8 Kacheln o 6.400 Positionen für Privates (E000-F8FF): 25 Kacheln o nicht belegbare Positionen FFFE, FFFF o 49.194 Positionen im Bereich 0-FFFF belegt o 7.827 Positionen im Bereich 0-FFFF noch frei: > 30 Kacheln

16 8.Januar 2007 ― 16Elektronisches Publizieren: Zeichenkodierung mit Unicode … Unicode im Kodierungsmodell: Kodetabelle … Strukturierung des Koderaums von ISO 10646 o 7F FF FF FF: 128 Gruppen von 256 Ebenen Jede Ebene mit 256 Kacheln à 256 Positionen (65.536 Zeichen pro Ebene) o Ebene 0 von Gruppe 0 belegt Kodepositionen von 0 bis FFFF (Basic Multilingual Plane, BMP) o Kodetabellen von Unicode 3.0 und ISO 10646-1:2000 sind Position für Position identisch und belegen nur Positionen im Bereich 0 bis FFFF Strukturierung des gesamten Koderaums von Unicode o 10 FF FF: 17 Ebenen, davon Ebene 0 als BMP

17 8.Januar 2007 ― 17Elektronisches Publizieren: Zeichenkodierung mit Unicode … Unicode im Kodierungsmodell: Kodetabelle o Daten für Zeichen in der Unicode-Kodetabelle: Kodeposition, typischer Glyph, Name, semantische Information (Basiszeichen, Kombinationszeichen, Primärzeichen, Kompatibilitätszeichen) o Designprinzipien für Unicode o Unifikation o Konvertierbarkeit zwischen etablierten Standards o Semantik o Dynamische Komposition o Charakterisierung äquivalenter Kodierungen (Normalisierungen) o Empfehlung des W3C für frühe Normalisierung im Web

18 8.Januar 2007 ― 18Elektronisches Publizieren: Zeichenkodierung mit Unicode Unicode im Kodierungsmodell: K.-Format … Kodierungsformat (encoding form) als Definition von Bitrepräsentationen (in Kodeeinheiten) für Kodepositionen o feste oder variable Länge FormatKodierungKoderaumKodeeinheitKodelänge kanonischUS-ASCII0-7F1 Bytefest, 1 Einh. kanonischISO 8859-X0-FF1 Bytefest, 1 Einh. UCS2ISO 10646 BMP0-FFFF1 Wydefest, 1 Einh. UCS4ISO 106460-7FFFFFFF2 Wydefest, 1 Einh. UTF32Unicode 3.0 0-10FFFF 2 Wydefest, 1 Einh. UTF8Unicode 3.00-10FFFF1 Bytevar., 1-4 Einh. UTF8ISO 106460-7FFFFFFF1 Bytevar., 1-6 Einh. UTF16Unicode 3.00-10FFFF1 Wydevar., 1-2 Einh.

19 8.Januar 2007 ― 19Elektronisches Publizieren: Zeichenkodierung mit Unicode … Unicode im Kodierungsmodell: K.-Format … Kodierungsformat UTF16 o stellt jede gültige Position im Bereich 0 bis FFFF kanonisch durch ein Wyde dar (UCS2-Transparenz) o stellt Positionen im Bereich 10000 bis 10FFFF (20 Bits) mit Hilfe zweier Surrogatpositionen dar hoher Surrogatbereich D800 bis DBFF:110110xxxxxxxxxx niedriger Surrogatbereich DC00 bis DFFF:110111xxxxxxxxxx o stellt Position P im Bereich 10000 bis 10FFFF dar durch die kanonische Bitdarstellung der beiden Surrogatpositionen H und L, wobei H = (P-10000) DIV 400 + D800 und L = (P-10000) MOD 400 + DC00

20 8.Januar 2007 ― 20Elektronisches Publizieren: Zeichenkodierung mit Unicode … Unicode im Kodierungsmodell: K.-Format … Kodierungsformat UTF8 o kodiert Position im Bereich bis FFFF mit 1 bis 3 Bytes kodiert Position im Bereich bis 7FFFFFFF mit 1 bis 6 Bytes o transparent für Binärzahlen von 0 bis 127: kodiert in einem Byte mit höchstwertigem Bit 0 (US-ASCII-transparent) o übrige Binärzahlen kodiert durch Folgen von Bytes, von denen jedes das höchstwertige Bit auf 1 gesetzt hat das erste Byte hat n Bits auf 1 und das n+1-te auf 0 gesetzt, die folgenden n-1 Bytes beginnen mit 10; die übrigen Positionen für die Kodierung der Binärzahl

21 8.Januar 2007 ― 21Elektronisches Publizieren: Zeichenkodierung mit Unicode … Unicode im Kodierungsmodell: K.-Format … EinheitenUTF8-DarstellungBits Größte Position 10xxxxxxx 7 7F 2110xxxxx 10xxxxxx11 7FF 31110xxxx 10xxxxxx 10xxxxxx16 FFFF 411110xxx 10xxxxxx 10xxxxxx 10xxxxxx21 1FFFFF 5111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx26 3FFFFFF 61111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx317FFFFFFF

22 8.Januar 2007 ― 22Elektronisches Publizieren: Zeichenkodierung mit Unicode Unicode im Kodierungsmodell: Kodierungsschema o Kodierungsschema (encoding schema) als Serialisierung der Kodierungseinheiten in Bytefolgen o big-endian (höherwertiges Byte zuerst): UTF16-BE little-endian (niederwertiges Byte zuerst): UTF16-LE o Übertragungssyntax o Byte Order Mark (BOM) FEFF kann bei einem UTF16- repräsentierten Datenstrom signalisieren, welche der beiden Serialisierungen vorliegt, da FFFE keine zulässige Kodeposition ist

23 8.Januar 2007 ― 23Elektronisches Publizieren: Zeichenkodierung mit Unicode Metainformation über Kodierung: MIME o Der MIME (Multipurpose Internet Mail Extensions) Internet-Standard bietet Metainformation zu einem Inhalt (Mail message, HTML-Dokument über HTTP) o Information über Kodierung von Texten im Medientyp text mit Parameter charset (Zeichensatz und Kodierungsformat) Content-type: text/html; charset=iso-8859-1 o Werte für charset: US-ASCII (default), ISO-8859-X, ISO-10646-UCS-2 o Offizielle Registrierung von charset-Werten unter ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets

24 8.Januar 2007 ― 24Elektronisches Publizieren: Zeichenkodierung mit Unicode Jenseits von glattem Text: Escape-Mechanismen o Ausgangssituation o Markup-Sprache mit Funktionszeichen, die auch im Klartext vorkommen dürfen o bei einigen Zeichen keine direkte Eingabe möglich o Lösung: Escape-Mechanismen o Kodierung einzelner Zeichen als Folge von anderen Zeichen o Beispiele o & < &apos; in HTML und XML o  in XML o \u008F in Java-Code

25 8.Januar 2007 ― 25Elektronisches Publizieren: Zeichenkodierung mit Unicode Einordnung: Strukturierte Dokumente o Unicode berücksichtigt plain text, also unformatierten Text, der durch Anwendung von Formatierfunktionen in fancy text auf der Basis von Glyphenbildern umgewandelt wird o Plain text repräsentiert Inhalt; Stylesheet gibt Format für den Inhalt vor, also wie Inhalt formatiert werden soll, und zwar aufgrund der semantischen Rollen, die die Struktur für Textstücke festlegt; Formatierer setzt die Vorgaben im Stylesheet um und erzeugt aus plain text und Struktur fancy text. o Bei Markupsprachen kodiert Unicode auch die Markierungen (Tags, Referenzen, Deklarationen)

26 8.Januar 2007 ― 26Elektronisches Publizieren: Zeichenkodierung mit Unicode XML und Unicode … o Unicode ist DIE Kodetabelle für XML o XML Software muß wenigstens UTF8 und UCS2 verstehen o Jede XML Text entity muß eine Kodierung deklarieren; verschiedene Text entities in einem Dokument dürfen verschiedene Kodierungen verwenden o Die Default-Deklaration ist UTF8 o Die UCS2-Kodierung kann durch das Byte order mark FEFF zu Beginn einer Text entity signalisiert werden; FEFF gehört dann nicht zum Ersetzungstext der Entity o Alternative Kodierungen können in einer XML Processing instruction angegeben werden:

27 8.Januar 2007 ― 27Elektronisches Publizieren: Zeichenkodierung mit Unicode … XML und Unicode … o Die folgenden Werte für «encoding description» stehen zur Verfügung: UTF-8 UTF-16 ISO-10646-UCS-2 ISO-10646-UCS-4 ISO-8859-1 bis -9 ISO-2022-JP Shift_JIS EUC_JP  Encoding Description impliziert Zeichensatz, Kodetabelle und Kodierungsformat o Darüber hinaus können im Text selbst über Character References Unicode-Zeichen spezifiziert werden © und © spezifizieren das Copyright-Symbol  unabhängig vom Kodierungsformat

28 8.Januar 2007 ― 28Elektronisches Publizieren: Zeichenkodierung mit Unicode … XML und Unicode Schichtenmodell der Zeichenkodierung in XML o XML-Dokument zusammengesetzt aus Entitäten o Entität als Bytestrom gemäß Kodierungsschema o Dekodierung eines Bytestroms in Strom von Unicode-Zeichenpositionen (Normalisierung von CR/LF) o Expandieren von Entitäten und Auflösen von Zeichenreferenzen zu Unicode-Zeichenpositionen (Behandlung des Escape-Mechanismus) Ergebnis: Strom von Unicode-Zeichenpositionen für logische Struktur / Inhalt eines XML-Dokuments (XML-Grammatik) Vergleich Escape-Mechanismus Java

29 8.Januar 2007 ― 29Elektronisches Publizieren: Zeichenkodierung mit Unicode Elementare Typographie … o Schriftschnitt: Eine Menge von visuell aufeinander bezogenen Glyphenbildern, die einige oder alle Zeichen eines Alphabets repräsentieren: Times Roman, Helvetica Narrow Italic oder Zapf Chancery o Stilistische Attribute: Vorhandensein und Form von Serifen, Schreibrichtung und Schreibfluß, Kontraste in der Strichstärke (Klassifizierung in DIN 16 518)  Charakter o Funktionale Attribute: Weite, Fette und Schrägstellung  Auszeichnung o Schriftschnitte gleichen Stils mit unterschiedlichen funktionalen Attributen bilden Schriftfamilie: Helvetica mit Schnitten Normal, Bold, Italic, Bold Italic, Narrow, Narrow Bold,...

30 8.Januar 2007 ― 30Elektronisches Publizieren: Zeichenkodierung mit Unicode … Elementare Typographie o Schriftschnitt in einer Reihe von Größen bildet Garnitur o Daumenregel: In einem Dokument höchstens zwei Schriftfamilien verwenden; zur funktionalen Differenzierung funktionale Varianten oder unterschiedliche Größen einsetzen o Beispiel: Helvetica für Überschriften und Times für Fließtext; Überschriftsgrade durch Schriftgrade differenzieren; Hervorhebungen in fett; Fachbegriffe in kursiv

31 8.Januar 2007 ― 31Elektronisches Publizieren: Zeichenkodierung mit Unicode Schrifttechnologie o Font: Umsetzung eines Schriftschnitts für eine bestimmte Satz- und Drucktechnologie, z.B. als PostScript- oder TrueType-Schrift o Outline- vs. Pixelformat: Auflösung, Hinting o Zusatzinformation: Dicktentabelle (Kerning, Unterschnitt) o Fonts sind Ressourcen von Betriebssystems oder Window Manager bzw. Druckers und müssen dort installiert sein (Lizenzen!); Fonteinbettung o Unicode und Fonts: Zeichenvorrat, Kodeposition, Glyphvarianten (Ligaturen, kontextabhängige Formen)

32 8.Januar 2007 ― 32Elektronisches Publizieren: Zeichenkodierung mit Unicode Informatik-Paradigmen o Levels of Abstraction: Komplexen Sachverhalt, ausgehend von hoher Abstraktionsebene, auf immer niedrigeren Abstraktionsstufen beschreiben. Konzeptioneller Rahmen zum Verständnis eines komplexen Sachverhalts Beispiel: Rechnerarchitektur (Schichtenmodell) Hier: Kodierungsmodell o Notwendigkeit von Interpretation, Universalität des Bits: Semantische Interpretation von Daten (Bits und Bytes) erfordert Metainformation über Formate Beispiel: Interpretation einer Bitfolge als natürliche Zahl oder ganze Zahl in Zweierkomplementdarstellung Hier: Kenntnis des Kodierungsschemas nötig für korrektes Lesen einer Zeichenkette, Metainformation über MIME

33 8.Januar 2007 ― 33Elektronisches Publizieren: Zeichenkodierung mit Unicode Unicode-Werkzeuge o Text-Editoren o Web-Browser o Konvertierungsprogramme o Java-Tool native2asciinative2ascii o Online-Werkzeuge Unicode2XMLUnicode2XML o Programmiersprachen (u.a. I/O-API von Java)

34 8.Januar 2007 ― 34Elektronisches Publizieren: Zeichenkodierung mit Unicode Aufgaben (Abgabe Samstag 13.1.2007) o Installieren Sie, falls notwendig, das Werkzeug native2ascii aus dem Java Development Kit. Erstellen Sie eine Textdatei mit Umlauten und anderen Zeichen außerhalb von US-ASCII und übersetzen Sie die Datei mit native2ascii nach UTF8. native2ascii testUTF8.txt o Ein Textsystem stellt das Zeichen ü als Kombination aus den zwei Glyphen à und ¼ dar. Überlegen Sie, in welchem Kodierungsformat der Text vorliegen und welche Annahmen das Textsystem über das Kodierungsformat machen könnte. Überprüfen Sie Ihre These mit einem Web-Browser.

35 8.Januar 2007 ― 35Elektronisches Publizieren: Zeichenkodierung mit Unicode Literatur o Kapitel 2 des SkriptsSkripts o Wikipedia-Artikel zu Unicode (http://de.wikipedia.org/wiki/Unicode)http://de.wikipedia.org/wiki/Unicode o W3C-Standard vom 15.1.2005: Standard Character Model for the World Wide Web (http://www.w3.org/TR/charmod/)http://www.w3.org/TR/charmod/ o Markus Kuhn: UTF-8 and Unicode FAQ for Unix/Linux (http://www.cl.cam.ac.uk/~mgk25/unicode.html)http://www.cl.cam.ac.uk/~mgk25/unicode.html


Herunterladen ppt "8.Januar 2007 ― 1Elektronisches Publizieren: Zeichenkodierung mit Unicode Zeichenkodierungen für Inhalte im Web — Unicode — Anne Brüggemann-Klein TU München."

Ähnliche Präsentationen


Google-Anzeigen