www.wikidata.de-de.nina.az
Eine Zeichenkodierung englisch Character encoding kurz Encoding erlaubt die eindeutige Zuordnung von Schriftzeichen i A Buchstaben oder Ziffern und Symbolen innerhalb eines Zeichensatzes In der elektronischen Datenverarbeitung werden Zeichen uber einen Zahlenwert kodiert um sie zu ubertragen oder zu speichern Der deutsche Umlaut U wird zum Beispiel im ISO 8859 1 Zeichensatz mit dem Dezimalwert 220 kodiert Im EBCDIC Zeichensatz kodiert derselbe Wert 220 die geschweifte Klammer Zur richtigen Darstellung eines Zeichens muss also die Zeichenkodierung bekannt sein der Zahlenwert allein reicht nicht aus Zahlenwerte aus Zeichenkodierungen lassen sich auf verschiedene Art speichern oder ubertragen z B als Morsezeichen verschieden hohe Tone Faxgerat verschieden hohe Spannungen Binare Systeme hatten seit jeher eine besondere Bedeutung da mit steigender Anzahl der Basiselemente des Codes die Gefahr von Verwechslungen steigt In alterer Fachliteratur wird mitunter auch gleichbedeutend der Begriff Zeichenverschlusselung verwendet wenn den Zeichen Schlussel Nummern zugeordnet werden aufgrund der moglichen falschlichen Zuordnung in den Bereich der Kryptographie wird diese Bezeichnung heute kaum noch verwendet Inhaltsverzeichnis 1 Geschichte 2 Computer und Datenaustausch 3 Grafische Darstellung 4 Differenzierung der Begriffe durch Einfuhrung des Unicodes 5 Siehe auch 6 Literatur 7 Weblinks 8 EinzelnachweiseGeschichte BearbeitenDie Anfange dieser Technik liegen in der Antike Zum Beispiel informierte Agamemnon seine Truppen von einem Schiff aus mit dem Licht eines Feuers daruber dass er die Invasion Trojas starten wollte Bekannt sind ferner Rauchzeichen bei den Indianern oder Nachrichtenubermittlung durch Trommelzeichen in Afrika Insbesondere zur Verstandigung von Schiffsverbanden in der Nautik wurden die Techniken spater verfeinert Sir Walter Raleigh erfand fur die Verstandigung seines Geschwaders auf der Sudamerikafahrt 1617 eine Art Vorlaufer der Flaggencodierung Im Jahr 1648 schliesslich war es Englands spaterer Konig James II der das erste Signalflaggensystem in der britischen Marine einfuhrte Nach der Erfindung der Telegrafie benotigte man auch hier eine Zeichenkodierung Aus den ursprunglichen Ideen des Englanders Alfred Brain entstanden 1837 der originale Morsecode und 1844 der modifizierte Morsecode Das CCITT Comite Consultatif International Telegraphique et Telephonique war schliesslich die erste Institution die einen standardisierten Zeichensatz definierte Dabei basierte dieser Zeichensatz auf einem von Jean Maurice Emile Baudot 1870 entwickelten 5er Code Alphabet fur seinen Synchrontelegraphen dem Baudot Code dessen Prinzip noch heute verwendet wird Computer und Datenaustausch BearbeitenMit der Entwicklung des Computers begann die Umsetzung der im Grunde schon seit dem Baudot Code verwendeten binaren Zeichenkodierung in Bit Folgen bzw intern meist in verschiedene elektrische Spannungswerte als Unterscheidungskriterium ganz analog zu der bisher zur Unterscheidung der Signalwerte genutzten Tonhohe oder Signaldauer Um diesen Bit Folgen darstellbare Zeichen zuzuordnen mussten Ubersetzungstabellen sogenannte Zeichensatze engl Charsets festgelegt werden 1963 wurde eine erste 7 Bit Version des ASCII Codes durch die ASA American Standards Association definiert um eine Vereinheitlichung der Zeichenkodierung zu erreichen Obwohl IBM an der Definition mitgearbeitet hatte fuhrte man 1964 einen eigenen 8 Bit Zeichencode EBCDIC ein Beide finden bis heute in der Computertechnik Verwendung Da fur viele Sprachen jeweils unterschiedliche diakritische Zeichen benotigt werden mit denen Buchstaben des lateinischen Schriftsystems modifiziert werden gibt es fur viele Sprachgruppen jeweils eigene Zeichensatze Die ISO hat mit der Normenreihe ISO 8859 Zeichenkodierungen fur alle europaischen Sprachen einschliesslich Turkisch und Arabisch Hebraisch sowie Thai standardisiert Das Unicode Consortium schliesslich veroffentlichte 1991 eine erste Fassung des gleichnamigen Standards der es sich zum Ziel gesetzt hat alle Zeichen aller Sprachen in Codeform zu definieren Unicode ist gleichzeitig die internationale Norm ISO 10646 Bevor ein Text elektronisch verarbeitet wird muss der verwendete Zeichensatz und die Zeichenkodierung festgelegt werden Dazu dienen beispielsweise folgende Angaben Definition des Zeichensatzes in einer HTML Seite lt meta http equiv Content Type content text html charset UTF 8 gt Definition des Zeichensatzes in den Kopfzeilen Headern einer E Mail oder eines HTTP PaketsContent Type text plain charset ISO 8859 1Grafische Darstellung BearbeitenDas Vorhandensein von Software fur Zeichenkodierung und dekodierung garantiert noch nicht die richtige Darstellung auf dem Computerbildschirm Zu diesem Zweck muss auch eine Schriftart verfugbar sein die die Zeichen des Zeichensatzes enthalt Differenzierung der Begriffe durch Einfuhrung des Unicodes BearbeitenMit Einfuhrung des Unicodes mussten die Zeichen durch mehr als ein Byte dargestellt werden und es wurden genauere Begriffe notwendig Derzeit werden im Deutschen die Begriffe Zeichensatz Code Kodierung encoding manchmal synonym manchmal differenzierend verwendet Im Englischen existieren bereits klare Differenzierungen Ein Zeichensatz character set oder character repertoire ist eine Menge S verschiedener Schriftzeichen Eine Codemenge oder Coderaum code space ist eine endliche Teilmenge M der naturlichen Zahlen Ein Zeichencode ccs coded character set codepage ist ein Zeichensatz S mit einer Codemenge M und einer injektiven Abbildung der Schriftzeichen in S auf die Zahlen in M Ein Codepunkt codepoint oder encoded character ist ein Element der Codemenge M das sein zugeordnetes Zeichen aus S bezeichnet Ein Text wird durch die Codepunkte seiner Schriftzeichen dargestellt also als Sequenz von Zahlen aus M Ein codiertes Zeichen encoded character ist ein Zeichen aus S zusammen mit seinem Codepunkt aus M Als nachstes muss man die Darstellung der Codepunkte im Rechner festlegen encoding Eine Codeeinheit code unit ist die Speichergrosse fur die Codepunkte mit der geringsten Grosse z B 8 Bits fur UTF 8 und 16 Bits fur UTF 16 1 Ein Codepunkt wird durch ein oder mehrere Codeeinheiten dargestellt Mit encoding form character encoding form cef bezeichnet man eine Abbildung der Codepunkte auf Codeeinheiten 1 z B UTF 16 Jedem Codepunkt wird eine Codeeinheit oder eine Folge von mehreren Codeeinheiten zugeordnet wobei die Lange nicht fur alle Codepunkte gleich sein muss Mit encoding scheme character encoding scheme ces bezeichnet man Kombination von encoding form und der Byte Reihenfolge big endian oder little endian mit der eine Codeeinheit abgelegt wird z B UTF 16LE In einfachen Fallen gibt es nicht mehr als 256 28 Codepunkte so dass man jeden Codepunkt in einem Byte speichern kann z B bei Verwendung eines der in ISO 8859 definierten Zeichencodes Mit Unicode ist das nicht mehr moglich da S weit mehr als 256 Zeichen enthalt Haufige Encodings sind UTF 8 UTF 16 UCS 2 und UTF 32 Bei UTF 16 cef werden die Codepunkte zwischen 0 und 216 1 in zwei und alle grosseren in vier Byte abgespeichert Wie bei allen encodings mit mehr als einem Byte Elementlange gibt es mindestens die zwei Schemen ces UTF 16BE big endian und UTF 16LE little endian die sich in der Reihenfolge der Bytes in einer Codeeinheit unterscheiden Bei UTF 32 verwendet man immer vier Byte fur jeden Codepunkt und UTF 8 verwendet je nach Codepunkt zwischen ein und vier Bytes die Codepunkte 0 bis 127 werden in einem einzigen Byte gespeichert so dass diese Darstellung bei den meisten englischen und anderen europaischen Texten insbesondere ausschliesslich Griechisch und slawische Sprachen mit kyrillischem Alphabet platzsparend ist denn die Zeichen mit diesen Codepunkten Zeichen des ASCII kommen mit Abstand am haufigsten vor Weitere Verfahren sind etwa SCSU BOCU und Punycode Komplexe Schemen konnen zwischen mehreren Varianten wechseln ISO IEC 2022 Um die Reihenfolge der Bytes in einer Codeeinheit unmissverstandlich anzugeben wird oft ein BOM byte order mark vorangestellt EF BB BF bei UTF 8 FF FE bei UTF 16LE FE FF bei UTF 16BE Eine Glyphe ist eine grafische Darstellung eines einzelnen Schriftzeichens Beispiel Das chinesische Schriftzeichen fur Berg 山 shan hat im Unicode den Codepunkt U 5C71 und benotigt zur Darstellung 15 Bit Mit UTF 16 als cef wird es als eine Codeeinheit abgelegt Mit ces Big endian steht 5C 71 im Speicher mit Little endian 71 5C Mit UTF 8 stehen die drei Codeeinheiten E5 B1 B1 im Speicher Zur Erleichterung fur den verwirrten Leser sei noch angemerkt dass die weitaus meisten Texte in einer der drei Unicode encodings UTF 8 UTF 16BE oder UTF 16LE gespeichert sind was den Umgang mit Texten wesentlich erleichtert Siehe auch BearbeitenCode Chinesische Zeichenkodierung MojibakeLiteratur BearbeitenJacques Andre Caracteres numeriques introduction In Cahiers GUTenberg Bd 26 Mai 1997 ISSN 1257 2217 S 5 44 in franzosischer Sprache Yannis Haralambous Fonts amp encodings From Unicode to advanced typography and everything in between Ubersetzt von P Scott Horne O Reilly Beijing u a 2007 ISBN 978 0 596 10242 5 in englischer Sprache Peter Karow Digitale Schriften Darstellung und Formate 2 verbesserte Auflage Springer Berlin u a 1992 ISBN 3 540 54917 X Mai Linh Thi Truong Jurgen Siebert Erik Spiekermann Hrsg FontBook Digital Typeface Compendium FontBook 4 4 uberarbeitete und erweiterte Auflage FSI FontShop International Berlin 2006 ISBN 3 930023 04 0 in englischer Sprache Weblinks BearbeitenJoel Spolsky The Absolute Minimum Every Software Developer Absolutely Positively Must Know About Unicode and Character Sets No Excuses deutsch Character Set Converter Windowsprogramm zum Konvertieren von Zeichensatzen No Such Thing As Plain TextEinzelnachweise Bearbeiten a b Glossary of Unicode Terms Abgerufen am 18 Januar 2021 Abgerufen von https de wikipedia org w index php title Zeichenkodierung amp oldid 237228463