New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Unicode Transformation Format - Wikipedia

Unicode Transformation Format

aus Wikipedia, der freien Enzyklopädie

Ein Unicode Transformation Format, abgekürzt UTF, ist eine Methode, Unicode-Zeichen auf Folgen von Bytes abzubilden.

Für die Repräsentation der Unicode-Zeichen zum Zweck der elektronischen Datenverarbeitung gibt es verschiedene Transformationsformate. In jedem der Formate lassen sich alle 1.114.112 im Unicode-Standard enthaltenen Zeichen (Codepoints) darstellen. Auch lässt sich jedes dieser Formate verlustfrei in ein anderes UTF-Format konvertieren.

Die verschiedenen Formate unterscheiden sich hinsichtlich deren Platzbedarf auf Speichermedien (Speichereffizienz), dem Kodierungs- und Dekodierungsaufwand (Laufzeitverhalten) sowie in ihrer Kompatibilität zu anderen (älteren) Kodierungsarten. Während beispielsweise einige Formate sehr effizienten Zugriff (Random Access) auf einzelne Zeichen innerhalb einer Zeichenfolge (String) erlauben, gehen andere sparsam mit Speicherplatz um. Daher ist bei der Auswahl eines bestimmten Unicode-Transformationsformats das für das vorgesehene Anwendungsgebiet geeignetste zu bestimmen.

Inhaltsverzeichnis

[Bearbeiten] UTF-32

UTF-32 ist eine Methode zur Kodierung von Unicode-Zeichen, bei der jedes Zeichen mit 4 Bytes (32 Bit) kodiert wird. Sie kann deshalb als die einfachste Kodierung bezeichnet werden, da alle anderen UTF Kodierungen variable Bytelängen benutzen. Allerdings wird dadurch auch bis zu 4 mal soviel Speicherplatz verbraucht wie bei den übrigen Kodierungen. Deshalb wird es auch kaum zum externen Speichern verwendet. Der Vorteil liegt vielmehr in der einfachen Handhabung bei der internen Verarbeitung und Implementierung. Im aktuellen Unicode Standard 5.0 ist UTF-32 identisch zum UCS-4. Das liegt daran, dass das Unicode-Konsortium sehr eng mit ISO/IEC zusammenarbeitet (siehe Weblink).

UTF-32 stellt jedes Unicode-Zeichen als 32-Bit (4 Bytes) langes Codewort dar und ist damit die einfachste Art, den Unicode-Standard zu implementieren. Nicht alle 32-Bit Werte sind erlaubte UTF-32 Codeworte, sondern nur der Wertebereich der maximal 1.114.112, also bis hexadezimal 10FFFF.

Der entscheidende Nachteil von UTF-32 ist der extrem hohe Speicherbedarf bei Texten, die überwiegend im lateinischen Schriftsystem kodiert sind. Verglichen mit den verbreiteten ISO-8859-Zeichensätzen wird daher viermal so viel Speicherplatz belegt.

UTF-32 zeigt ihre besonderen Vorteile beim wahlfreien Zugriff auf ein bestimmtes Zeichen, da die Adresse des n-ten Zeichens durch einfachste Zeigerarithmetik ermittelt werden kann. Auch ist es möglich, anhand der Größe eines Dokuments in Bytes umgehend die Anzahl der enthaltenen Zeichen auszurechnen (nämlich durch eine simple Division durch 4). Diese Eigenschaft relativiert sich dadurch, dass außer in einfachen Fällen ein Unicodezeichen nicht einem Schriftzeichen entspricht.

[Bearbeiten] UTF-16

UTF-16 ist das älteste dieser Formate und verwendet zur Kodierung eines Zeichens 16 oder 32 Bits. Das Kodierungssystem erlaubt maximal 1.114.112 Codes und schränkt damit aus Kompatiblitätsgründen alle anderen UTF-Kodierungen ein. Die meisten Zeichen der lebenden Sprachen lassen sich mit nur 2 Byte (16 Bit) darstellen, eine wichtige Ausnahme sind die chinesischen Schriftzeichen in der Supplementary Ideographic Plane, siehe auch GB18030.

Im aktuellen Unicode-Standard 5.0 ist UTF-16 identisch zum UCS-2. Das liegt daran, dass das Unicode-Konsortium sehr eng mit ISO/IEC zusammenarbeitet. UTF-16 verbindet bei Bedarf auch 2 Zwei-Byte-Paare und emuliert so einen höheren Wertebereich, was in UCS-2 nicht möglich ist.

Man spricht bei einem Zwei-Byte-Paar in UTF-16 von einer Code Unit. Zeichencodes, die sich nicht in 2 Bytes darstellen lassen, werden als surrogate pair dargestellt. Es ist zu beachten, dass der volle Wertebereich von 2 Bytes (bzw. 4 Bytes bei einem Paar), nicht ausgenutzt werden kann, da durch die Kennzeichnung von Paaren ein gewisser Overhead entsteht.

Wird ein Zeichen in 4 Bytes codiert, so spricht man bei den ersten Beiden vom high surrogate und bei den anderen vom low surrogate. High surrogates haben einen Wert zwischen D800 und DBFF, low surrogates zwischen DC00 und DFFF. Wird ein Zeichen in einer einzigen Code Unit kodiert, so darf der Code für dieses Zeichen nicht in den genannten Wertebereichen liegen, da sonst anhand einer Bytefolge nicht entschieden werden könnte, ob es sich um zwei einzelne Code Units oder um ein surrogate pair handelt.

[Bearbeiten] UTF-8

Zeichencodes mit einem Wert von weniger als 128 werden in UTF-8 als ASCII dargestellt. ASCII-Zeichen benötigen also ein Oktett. Alle weiteren Zeichen werden entsprechend eines relativ aufwändigen Verfahrens als Folge von 2 bis 4 Oktetts codiert. Alle Zeichen in dieser Folge haben einen Wert von 128-255, das höchstwertige Bit ist also gesetzt.

Der UTF-8-Code kann verlustfrei in UTF-16 bzw. UTF-32-Code umgewandelt werden, ebenso kann aus diesen Codierungen UTF-8-Code errechnet werden, wozu entsprechende Bibliotheken existieren.

UTF-8 hat gegenüber den anderen Codierungsverfahren den Vorteil, dass er aus einem einfachen Character-String besteht (Oktettfolge). Da viele ältere Programme mit solchen einfachen Strings arbeiten, können diese vergleichsweise einfach auf UTF-8 erweitert werden, wohingegen eine Umstellung auf UTF-16 bzw. UTF-32 wesentlich aufwändiger ist.

Zusätzlich hat UTF-8 den Vorteil, dass dermaßen codierte Strings einfach über Netzwerke übertragen werden können, ohne sich um möglicherweise unterschiedliche Byte-Reihenfolge kümmern zu müssen.

[Bearbeiten] UTF-7 (veraltet)

UTF-7 stellt Unicode-Zeichen aus einer Reihe von ASCII-Zeichen mit jeweils nur 7 Bit dar. Der ASCII-Zeichensatz bleibt wie bei UTF-8 unverändert erhalten, mit Ausnahme der Escape-Zeichen + und -. Zeichen, die nicht in ASCII enthalten sind, werden als Folge von ASCII-Zeichen kodiert, welche mit einem + eingeleitet und einem - abgeschlossen wird. Dieses Format war für die Übertragung von Unicode-Texten über 7-Bit-Kanäle (z. B. E-Mail oder im Usenet) gedacht, da sie effizienter ist als etwa UTF-8 mit anschließender 7-Bit-Kodierung. Allerdings hat sich UTF-7 nicht durchsetzen können und ist inzwischen völlig ungebräuchlich. Der MIME Standard für E-Mails sieht für eine Kodierung in 7 Bit das verbreitete Quoted-printable Verfahren vor.

[Bearbeiten] UTF-EBCDIC

UTF-EBCDIC ist eine Unicode-Erweiterung, die auf dem proprietären 8-Bit EBCDIC-Format von IBM-Großrechnern aufbaut, ähnlich wie UTF-8 auf ASCII. Es wurde mit dem Ziel entwickelt, die Verarbeitung von Unicode Daten durch existierende Mainframe Anwendungen zu erleichtern.

In der Praxis wird UTF-EBCDIC auch auf Mainframes nur selten benutzt.

IBM EBCDIC basierte Mainframe Betriebssysteme wie z/OS, benutzen in der Regel UTF-16. Beispielsweise wird UTF-16 von Komponenten wie DB2 UDB, COBOL, PL/I, Java und dem IBM XML Toolkit unterstützt.

[Bearbeiten] Siehe auch

[Bearbeiten] Weblinks

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu