8-Bit Unicode Transformation Format: Unterschied zwischen den Versionen

Aus Mikiwiki
Wechseln zu: Navigation, Suche
(Verwendung)
(Verwendung)
Zeile 8: Zeile 8:
  
 
== Verwendung ==
 
== Verwendung ==
 
Ausgabe der UTF-8-Kodierung des Zeichens "α" (Alpha aus dem [http://www.unicode.org/charts/PDF/U0370.pdf griechischen Alphabet]). Im Beispiel wird für das Zeichen "α" die (hexadezimale) UTF-8-Kodierung "ceb1" (also genau umgekehrt wie von "echo" ausgegeben; dezimal: 316 261, hier ist die Reihenfolge wie angezeigt). Danach folgt noch ein Zeilenumbruch ("0a") und nichts weiter ("00"). Zu beachten ist natürlich, dass das verwendete Terminal auch tatsächlich auf die Anzeige von UTF-8 eingestellt ist! Der entsprechende Code Point für die Darstellung als Zeichen in HTML lautet "03b1".
 
 
{| class=wikismall
 
! Zeichen !! hexadezimal !! dezimal
 
|-
 
| α || ceb1 || 316 261
 
|-
 
| [Zeilenumbruch] || 0a || \n
 
|-
 
| [nichts] || 00 || \0
 
|}
 
 
$ <b>echo α | od -xc</b>
 
0000000 b1ce 000a
 
        316 261  \n  \0
 
0000003
 
 
Dieselbe Ausgabe, aber ohne von "echo" an die Ausgabe angehängten Zeilenumbruch.
 
 
$ <b>echo -n α | od -xc</b>
 
0000000 b1ce 000a
 
        316 261
 
0000002
 
 
Anzeige von UTF-8 Zeichen in Codepoint hex-Darstellung.
 
 
$ <b>echo 'UTF-8 ist schön' | preconv -r</b>
 
UTF-8 ist sch\[u00F6]n
 
  
 
{| class=wikismall
 
{| class=wikismall
Zeile 67: Zeile 38:
 
| α
 
| α
 
| || || || 316 261 || CE B1 ||  
 
| || || || 316 261 || CE B1 ||  
 +
|-
 +
| (Zeilenumbruch)
 +
| || || || \n || 0A ||
 +
|-
 +
| (nichts)
 +
| || || || \0 || 00 ||
 +
|}
 +
 
|-
 
|-
 
! colspan=7 | Unklar, ob folgende stimmen:
 
! colspan=7 | Unklar, ob folgende stimmen:
Zeile 85: Zeile 64:
 
| || || || || ||  
 
| || || || || ||  
 
|}
 
|}
 +
 +
Ausgabe der UTF-8-Kodierung des Zeichens "α" (Alpha aus dem [http://www.unicode.org/charts/PDF/U0370.pdf griechischen Alphabet]). Im Beispiel wird für das Zeichen "α" die (hexadezimale) UTF-8-Kodierung "ceb1" (also genau umgekehrt wie von "echo" ausgegeben; dezimal: 316 261, hier ist die Reihenfolge wie angezeigt). Danach folgt noch ein Zeilenumbruch ("0a") und nichts weiter ("00"). Zu beachten ist natürlich, dass das verwendete Terminal auch tatsächlich auf die Anzeige von UTF-8 eingestellt ist! Der entsprechende Code Point für die Darstellung als Zeichen in HTML lautet "03b1".
 +
 +
$ <b>echo α | od -xc</b>
 +
0000000 b1ce 000a
 +
        316 261  \n  \0
 +
0000003
 +
 +
Dieselbe Ausgabe, aber ohne von "echo" an die Ausgabe angehängten Zeilenumbruch.
 +
 +
$ <b>echo -n α | od -xc</b>
 +
0000000 b1ce 000a
 +
        316 261
 +
0000002
 +
 +
Anzeige von UTF-8 Zeichen in Codepoint hex-Darstellung.
 +
 +
$ <b>echo 'UTF-8 ist schön' | preconv -r</b>
 +
UTF-8 ist sch\[u00F6]n
  
 
Umwandlung des Wertes "FC" von Hexadezimal zu Dezimal (252) mit "bc".
 
Umwandlung des Wertes "FC" von Hexadezimal zu Dezimal (252) mit "bc".

Version vom 26. Juni 2021, 10:53 Uhr

Das 8-Bit Unicode Transformation Format / UTF-8 ist die am weitesten verbreitete Kodierung für Unicode-Zeichen. Dabei wird jedem Unicode-Zeichen eine besonders kodierte Bytekette von variabler Länge zugeordnet. UTF-8 unterstützt bis zu vier Byte, auf die sich wie bei allen UTF-Formaten alle Unicode-Zeichen abbilden lassen.

UTF-8 wurde als Alternative zu UTF-16 entwickelt und stellt jedes Zeichen durch 8 Bit bzw. ein Byte dar. Dabei werden die US-ASCII-Zeichen (7 Bit) wie bisher durch ein Byte dargestellt, deren oberstes Bit 0 ist. Alle anderen Unicode-Zeichen werden durch zwei bis vier Byte lange Byte-Ketten dargestellt. Damit gibt es keinen unmittelbaren Zusammenhang mehr zwischen der Anzahl Byte und der Anzahl Zeichen einer Datei.

UTF-8 hat eine zentrale Bedeutung als globale Zeichenkodierung im Internet und ist inzwischen die meist genutzte Unicode-Anwendung. Die Internet Engineering Task Force verlangt von allen neuen Internetkommunikationsprotokollen, dass die Zeichenkodierung deklariert wird und dass UTF-8 eine der unterstützten Kodierungen ist. Das Internet Mail Consortium / IMC empfiehlt, dass alle E-Mail-Programme UTF-8 darstellen und senden können.

Auch bei dem in Webbrowsern verwendeten HTML setzt sich UTF-8 zur Darstellung von länder- und sprachspezifischen Zeichen zunehmend durch und ersetzt die vorher benutzten HTML-Sonderzeichen.

Inhaltsverzeichnis

Verwendung

Zeichen ISO 8859-1 (Latin1) Unicode (UTF-8) URL
Dezimal Oktal Dezimal Oktal Hexadez.
Ä 196 304 303 204 C3 84 %C3%84
ä 228 344 303 244 C3 A4 %C3%A4
Ö 214 326 303 226 C3 96 %C3%96
ö 246 366 303 266 C3 B6 %C3%B6
Ü 220 334 303 234 C3 9C %C3%9C
ü 252 374 303 274 C3 BC %C3%BC
α 316 261 CE B1
(Zeilenumbruch) \n 0A
(nichts) \0 00

|- ! colspan=7 | Unklar, ob folgende stimmen: |- | (Leerzeichen) | || || || || 0000 || %00%00 |- | / | || || || || 2215 ||  %22%15 |- | ( | || || || || 0028 || %00%28 |- | ) | || || || || 0029 || %00%29 |- | | || || || || || |}

Ausgabe der UTF-8-Kodierung des Zeichens "α" (Alpha aus dem griechischen Alphabet). Im Beispiel wird für das Zeichen "α" die (hexadezimale) UTF-8-Kodierung "ceb1" (also genau umgekehrt wie von "echo" ausgegeben; dezimal: 316 261, hier ist die Reihenfolge wie angezeigt). Danach folgt noch ein Zeilenumbruch ("0a") und nichts weiter ("00"). Zu beachten ist natürlich, dass das verwendete Terminal auch tatsächlich auf die Anzeige von UTF-8 eingestellt ist! Der entsprechende Code Point für die Darstellung als Zeichen in HTML lautet "03b1".

$ echo α | od -xc
0000000 b1ce 000a
        316 261  \n  \0
0000003

Dieselbe Ausgabe, aber ohne von "echo" an die Ausgabe angehängten Zeilenumbruch.

$ echo -n α | od -xc
0000000 b1ce 000a
        316 261
0000002

Anzeige von UTF-8 Zeichen in Codepoint hex-Darstellung.

$ echo 'UTF-8 ist schön' | preconv -r
UTF-8 ist sch\[u00F6]n

Umwandlung des Wertes "FC" von Hexadezimal zu Dezimal (252) mit "bc".

$ echo "ibase=16; FC" | bc
252

Umwandlung des Wertes "334" von Oktal zu Dezimal (220) mit "bc".

$ echo "ibase=8; 334" | bc
220

Umwandlung einer Datei mit Zeichensatz Latin1 zu Zeichensatz UTF-8.

$ iconv -f latin1 -t utf-8 latin1.txt > utf8.txt

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
country DE.gif Wikipedia ger UTF-8wbm Enzyklopädischer Artikel
country DE.gif ger UTF-8-Codetabelle mit Unicode-Zeichenwbm Anmerkung: der Unicode Codepoint ist gelb hinterlegt, der UTF-8-Code ist rot hinterlegt.