Studium, Ausbildung und Beruf

web uni-protokolle.de
 powered by
NachrichtenLexikonProtokolleBücherForenDienstag, 15. Oktober 2019 

UTF-8


Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier.
UTF-8 (Abk. für 8-bit Unicode Transformation Format ) ist eine Kodierung für Unicode -Zeichen; dabei wird jedem Unicode-Zeichen eine speziell Byte -Ketten von variabler Länge zugeordnet.

UTF-8 ist gegenwärtig als RFC 3629 standardisiert. RFC 2279 ist veraltet ( UTF-8 a transformation format of ISO 10646 ).

Unicode-Zeichen mit den Werten zwischen 0 127 (0 .. 7F hexadezimal) werden in UTF-8-Kodierung als ein Byte mit dem gleichen wiedergegeben. Insofern sind alle Daten die ausschließlich verwenden in beiden Darstellungen identisch.

Für Unicode-Zeichen größer als 127 werden der UTF-8-Kodierung zu Byteketten der Länge zwei vier.

Unicode-Bereich UTF-8 Kodierung Bemerkungen
U0000 - U007F 0xxxxxxx In diesem Bereich entspricht UTF-8 genau ASCII-Code: Das erste Bit ist 0 die darauf folgende 7-Bitkombination ist das
U0080 - U07FF 110xxxxx 10xxxxxx Das erste Byte beginnt mit binär die folgenden Bytes beginnen mit binär 10; x stehen für die fortlaufende Bitkombination des Die Anzahl der Einsen bis zur ersten im ersten Byte ist die Anzahl der für das Zeichen.
U0800 - UFFFF 1110xxxx 10xxxxxx 10xxxxxx

U10000 - U10FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

Theoretisch ließe sich das Schema fortsetzen aktuelle RFC beschränkt die Zeichen jedoch auf durch UTF-16 erreichbaren also bis U10FFFF.

Betrachtet man die Bitfolgen etwas genauer man die große Sinnfälligkeit von UTF-8:

  • Ist das erste Bit 0 handelt sich um ein gewöhnliches ASCII-Zeichen da ASCII 7-Bit-Kodierung ist und die ersten 128 Zeichen Unicode die ASCII-Zeichen sind. Damit sind alle automatisch aufwärtskompatibel zu UTF-8.
  • Ist das erste Bit 1 handelt sich um ein Mehrbytezeichen also ein Unicode-Zeichen einer Zeichennummer größer als 127.
  • Sind die ersten beiden Bits 11 es sich um das Start-Byte eines Mehrbytezeichens sie 10 um ein Folge-Byte.
  • Die Anzahl der 1-Bits vor dem 0-Bit bei Start-Bytes entspricht der Anzahl an des Mehrbytezeichens insgesamt oder anders interpretiert die der 1-Bits nach dem ersten Bit vor ersten 0-Bit der Anzahl an Folgebytes.
Somit kann ein Byte-Strom auch in Mitte gelesen werden ohne dass es Probleme der Dekodierung gibt.

Zu beachten:

  • Das gleiche Zeichen kann auf verschiedene kodiert werden. Jedoch ist nur die jeweils mögliche Kodierung erlaubt.
  • Ursprünglich gab es auch Kodierungen mit als 4 Oktetts (bis zu 6) diese sind jedoch worden da es in Unicode keine korrespondierenden Zeichen gibt und ISO 10646 in seinem möglichen Zeichenumfang an Unicode wurde.
  • In Dateien die von der JVM im UTF-8-Format geschrieben werden wird 0 regelwidrig 2-Zeichen-Sequenz kodiert. So wird das Problem vermieden ein 0 in einem String als Terminal-Zeichen Strings interpretiert wird.

Siehe auch: UTF-16 UTF-32

Weblinks

  • http://www.cl.cam.ac.uk/~mgk25/unicode.html -- Markus Kuhn The UTF-8 and Unicode FAQ for Unix/Linux ; in diesem Dokument findet man Hinweise UTF-8 ASCII und ISO 8859-1 in der und Unix-Welt ersetzen kann.



Bücher zum Thema UTF-8

Dieser Artikel von Wikipedia unterliegt der GNU FDL.

ImpressumLesezeichen setzenSeite versendenSeite drucken

HTML-Code zum Verweis auf diese Seite:
<a href="http://www.uni-protokolle.de/Lexikon/UTF-8.html">UTF-8 </a>