„UTF-8“ ist die Abkürzung für „8-Bit UCS Trans­for­ma­ti­on Format“ und steht für die am weitesten ver­brei­te­te Zei­chen­co­die­rung im World Wide Web. Der in­ter­na­tio­na­le Standard Unicode erfasst sämtliche Sprach­zei­chen und Text­ele­men­te (nahezu) aller Sprachen der Welt für die EDV-Ver­ar­bei­tung. UTF-8 spielt im Unicode-Zei­chen­satz eine tragende Rolle.

Profi-Website in Sekunden dank KI.
  • Profi-Website in Sekunden dank KI
  • Aus tausenden Vorlagen auswählen
  • 30 Tage kostenlos testen

Die Ent­wick­lung der UTF-8-Codierung

UTF-8 ist eine Zei­chen­co­die­rung. Sie ordnet jedem exis­tie­ren­den Unicode-Zeichen genau eine bestimmte Bitfolge zu, die man auch als binäre Zahl lesen kann. Das heißt: Allen Buch­sta­ben, Zahlen und Symbolen einer wach­sen­den Zahl an Sprachen weist UTF-8 jeweils eine feste, binäre Zahl zu. In­ter­na­tio­na­le Or­ga­ni­sa­tio­nen, für die Internet-Standards von Bedeutung sind und die sie ent­spre­chend eta­blie­ren wollen, arbeiten daran, UTF-8 zur un­um­stöß­li­chen Größe bei der Codierung zu machen. Unter anderem das W3C sowie die Internet En­gi­nee­ring Task Force (IETF) setzen sich dafür ein. Und tat­säch­lich ver­wen­de­ten bereits im Jahr 2009 die meisten Websites auf der Welt die UTF-8-Codierung. Im April 2025 nutzten laut einem W3Techs-Gutachten 98,6 Prozent aller exis­tie­ren­den Websites diese Zei­chen­co­die­rung.

Probleme vor der Ein­füh­rung von UTF-8

Ver­schie­de­ne Regionen mit ver­wand­ten Sprachen und Schrift­sys­te­men haben jeweils ihre eigenen Co­die­rungs­stan­dards ent­wi­ckelt, da sie un­ter­schied­li­che Ansprüche hatten. Im eng­lisch­spra­chi­gen Raum genügte zum Beispiel die Codierung ASCII, deren Struktur die Zuordnung von 128 Zeichen zu einer com­pu­ter­les­ba­ren Zei­chen­ket­te zulässt.

Asia­ti­sche Schriften oder das ky­ril­li­sche Alphabet nutzen jedoch mehr ein­deu­ti­ge Ein­zel­zei­chen. Auch die deutschen Umlaute (etwa der Buchstabe ä) fehlen bei ASCII. Zudem konnten sich Zu­wei­sun­gen un­ter­schied­li­cher Co­die­run­gen doppeln. Dies führte dazu, dass bei­spiels­wei­se ein in Russisch ver­fass­tes Dokument auf einem ame­ri­ka­ni­schen Computer statt mit ky­ril­li­schen Buch­sta­ben mit den auf diesem System zu­ge­wie­se­nen la­tei­ni­schen Buch­sta­ben dar­ge­stellt wurde. Das re­sul­tie­ren­de Kau­der­welsch er­schwer­te die in­ter­na­tio­na­le Kom­mu­ni­ka­ti­on erheblich.

Ent­ste­hung von UTF-8

Um dieses Problem zu lösen, ent­wi­ckel­te Joseph D. Becker für Xerox zwischen 1988 und 1991 den uni­ver­sel­len Zei­chen­satz Unicode. Ab 1992 war auch das IT-In­dus­trie­kon­sor­ti­um X/Open auf der Suche nach einem System, das ASCII ablösen und das Zei­chen­re­per­toire erweitern sollte. Trotzdem sollte die Codierung zu ASCII kom­pa­ti­bel bleiben.

Diese An­for­de­rung erfüllte die erste Codierung namens UCS-2 nicht, da sie die Zei­chen­num­mern einfach in 16-Bit-Werte übertrug. Auch UTF-1 schei­ter­te, weil die Unicode-Zu­wei­sun­gen mit den be­stehen­den ASCII-Zei­chen­zu­wei­sun­gen teilweise kol­li­dier­ten. Ein Server, der auf ASCII ein­ge­stellt war, gab dadurch teilweise falsche Zeichen aus. Das war ein er­heb­li­ches Problem, da zu dieser Zeit die Mehrheit der eng­lisch­spra­chi­gen Rechner damit arbeitete.

Der nächste Vorstoß bestand im File System Safe UCS Trans­for­ma­ti­on Format (FSS-UTF) von Dave Prosser, das die Über­lap­pung mit ASCII-Zeichen be­sei­tig­te. Im August desselben Jahres machte der Entwurf in Fach­krei­sen die Runde. In den Bell Labs, bekannt für zahl­rei­che No­bel­preis­trä­ger, ar­bei­te­ten damals die Unix-Mit­be­grün­der Ken Thompson und Rob Pike am Be­triebs­sys­tem Plan 9. Sie griffen Prossers Idee auf, ent­wi­ckel­ten eine selbst­syn­chro­ni­sie­ren­de Codierung (jedes Zeichen gibt also an, wie viele Bits es benötigt) und legten Regeln für die Zuweisung von Buch­sta­ben fest, die im Code un­ter­schied­lich dar­ge­stellt werden konnten (Beispiel: „ä“ als eigenes Zeichen oder „a+¨“). Sie nutzten die Codierung er­folg­reich für ihr Be­triebs­sys­tem und stellten sie den Ver­ant­wort­li­chen vor. Damit war FSS-UTF, heute als „UTF-8“ bekannt, im We­sent­li­chen fer­tig­ge­stellt.

UTF-8 im Unicode-Zei­chen­satz: Ein Standard für alle Sprachen

Die UTF-8-Codierung ist ein Trans­for­ma­ti­ons­for­mat innerhalb des Standards Unicode. Die in­ter­na­tio­na­le Normung ISO 10646 legt Unicode, dort unter der Be­zeich­nung „Universal Coded Character Set“, in weiten Teilen fest. Die Unicode-Ent­wi­ckeln­den grenzen gewisse Parameter für die prak­ti­sche Anwendung ein. Der Standard soll die in­ter­na­tio­nal ein­heit­li­che und kom­pa­ti­ble Codierung von Schrift­zei­chen und Text­ele­men­ten si­cher­stel­len.

Bei seiner Ein­füh­rung im Jahr 1991 legte Unicode 24 moderne Schrift­sys­te­me sowie Wäh­rungs­zei­chen für die Da­ten­ver­ar­bei­tung fest. Im 2024 ver­öf­fent­lich­ten Unicode-Standard waren es 168. Es gibt ver­schie­de­ne Unicode-Trans­for­ma­ti­ons­for­ma­te, kurz „UTF“, welche die 1.114.112 möglichen Code­points re­pro­du­zie­ren. Drei Formate haben sich durch­ge­setzt: UTF-8, UTF-16 und UTF-32. Andere Co­die­run­gen wie UTF-7 oder SCSU haben zwar auch ihre Vorteile, konnten sich aber trotzdem nicht eta­blie­ren. Unicode ist in 17 Ebenen un­ter­glie­dert, die jeweils 65.536 Zeichen umfassen. Eine Ebene besteht aus je 16 Spalten und Zeilen. Die nullte Ebene, die „Basic Mul­ti­l­in­gu­al Plane“, umfasst einen Großteil der aktuell auf der Welt genutzten Schrift­sys­te­me sowie Satz­zei­chen, Kon­troll­zei­chen und Symbole. Sechs weitere Ebenen werden derzeit verwendet:

  • Sup­ple­men­ta­ry Mul­ti­l­in­gu­al Plane (Ebene 1): his­to­ri­sche Schrift­sys­te­me, selten genutzte Zeichen
  • Sup­ple­men­ta­ry Ideo­gra­phic Plane (Ebene 2): seltene CJK-Schrift­zei­chen („Chi­ne­sisch, Japanisch, Ko­rea­nisch“)
  • Tertiary Ideo­gra­phic Plane (Ebene 3): Seit der Unicode-Version 15.1 werden hier weitere CJK-Schrift­zei­chen kodiert.
  • Sup­ple­men­ta­ry Special-Purpose Plane (Ebene 14): einzelne Kon­troll­zei­chen
  • Sup­ple­men­ta­ry Private Use Area – A (Ebene 15): private Nutzung
  • Sup­ple­men­ta­ry Private Use Area – B (Ebene 16): private Nutzung

Die UTF-Co­die­run­gen gewähren Zugriff auf alle Unicode-Zeichen. Die je­wei­li­gen Ei­gen­schaf­ten empfehlen sich für bestimmte Ein­satz­be­rei­che.

Die Al­ter­na­ti­ven: UTF-32 und UTF-16

UTF-32 arbeitet immer mit 32 Bit, also 4 Byte. Die simple Struktur erhöht die Les­bar­keit des Formats. In Sprachen, die vor­nehm­lich das la­tei­ni­sche Alphabet und somit nur die ersten 128 Zeichen nutzen, nimmt die Codierung sehr viel mehr Spei­cher­platz ein als nötig (4 statt 1 Byte).

UTF-16 eta­blier­te sich als Dar­stel­lungs­for­mat in Be­triebs­sys­te­men wie Apple macOS und Microsoft Windows. In vielen Software-Ent­wick­lungs-Frame­works findet es ebenso Anwendung. Es ist eines der ältesten UTFs, die noch immer genutzt werden. Seine Struktur eignet sich besonders für die spei­cher­platz­spa­ren­de Codierung nicht­la­tei­ni­scher Sprach­zei­chen. Die meisten Zeichen lassen sich in 2 Byte (16 Bit) dar­stel­len, nur bei seltenen Zeichen ver­dop­pelt sich die Länge auf 4 Byte.

Effizient und ska­lier­bar: UTF-8

UTF-8 besteht aus bis zu vier Bit-Ketten, die jeweils aus 8 Bits bestehen. Der Vorgänger ASCII besteht hingegen aus einer Bit-Kette mit 7 Bits. Beide Co­die­run­gen legen die ersten 128 codierten Zeichen de­ckungs­gleich fest. Die haupt­säch­lich aus dem eng­li­schen Sprach­raum stam­men­den Zeichen sind damit jeweils mit einem Byte abgedeckt. Für Sprachen mit la­tei­ni­schem Alphabet nutzt dieses Format den Spei­cher­platz am ef­fi­zi­en­tes­ten. Die Be­triebs­sys­te­me Unix und Linux verwenden es intern. Seine be­deu­tends­te Rolle spielt UTF-8 jedoch im Zu­sam­men­hang mit In­ter­net­an­wen­dun­gen, nämlich bei der Dar­stel­lung von Text im World Wide Web oder in E-Mails.

Dank der selbst­syn­chro­ni­sie­ren­den Struktur bleibt die Les­bar­keit trotz der variablen Länge pro Zeichen erhalten. Ohne Unicode-Ein­schrän­kung wären mit UTF-8 4.398.046.511.104 Zei­chen­zu­ord­nun­gen möglich. Wegen der 4-Byte-Be­gren­zung in Unicode sind es effektiv 221, was mehr als aus­rei­chend ist. Selbst der Unicode-Bereich hat noch leere Ebenen für viele weitere Schrift­sys­te­me. Die genaue Zuordnung ver­hin­dert Codepoint-Über­schnei­dun­gen, welche die Kom­mu­ni­ka­ti­on in der Ver­gan­gen­heit ein­schränk­ten.

Während UTF-16 und UTF-32 ebenso eine genaue Zuordnung er­mög­li­chen, nutzt UTF-8 den Spei­cher­platz beim la­tei­ni­schen Schrift­sys­tem besonders effizient und ist darauf ausgelegt, dass ver­schie­de­ne Schrift­sys­te­me pro­blem­los ne­ben­ein­an­der exis­tie­ren können und abgedeckt werden. Dies er­mög­licht deren gleich­zei­ti­ge, sinnvolle Dar­stel­lung innerhalb eines Textfelds ohne Kom­pa­ti­bi­li­täts­pro­ble­me.

Grund­la­gen: UTF-8-Codierung und Zu­sam­men­set­zung

Die Codierung UTF-8 besticht zum einen durch die Rück­wärts­kom­pa­ti­bi­li­tät zu ASCII und zum anderen durch eine selbst­syn­chro­ni­sie­ren­de Struktur, die es Ent­wick­le­rin­nen und Ent­wick­lern er­leich­tert, im Nach­hin­ein Feh­ler­quel­len aus­zu­ma­chen. Für sämtliche ASCII-Zeichen nutzt UTF nur 1 Byte. Die Ge­samt­zahl der Bit-Ketten ist an den ersten Ziffern der binären Zahl zu erkennen. Da der ASCII-Code nur 7 Bits umfasst, ist die vorderste Ziffer die Kenn­zif­fer 0. Die 0 füllt den Spei­cher­platz auf ein volles Byte und si­gna­li­siert den Start einer Kette ohne Fol­ge­ket­ten. Der Name „UTF-8“ würde als binäre Zahl mit UTF-8-Codierung bei­spiels­wei­se wie folgt aus­ge­drückt:

Zeichen U T F - 8
UTF-8, binär 01010101 01010100 01010100 00101101 00111000
Unicode-Point, he­xa­de­zi­mal U+0055 U+0054 U+0046 U+002D U+0038

ASCII-Zeichen wie die in der Tabelle ver­wen­de­ten ordnet die UTF-8-Codierung einer einzelnen Bit-Kette zu. Alle folgenden Zeichen und Symbole innerhalb des Unicodes haben zwei bis vier 8-Bit-Ketten. Die erste Kette nennt sich Start-Byte, zu­sätz­li­che Ketten sind Folge-Bytes. Start-Bytes mit Folge-Bytes beginnen immer mit 11. Folge-Bytes hingegen beginnen immer mit 10. Suchen Sie manuell nach einem be­stimm­ten Punkt im Code, erkennen Sie daher den Anfang eines codierten Zeichens durch die Marker 0 und 11. Das erste druckbare Mehr-Byte-Zeichen ist das um­ge­kehr­te Aus­ru­fe­zei­chen:

Zeichen ¡
UTF-8, binär 11000010 10100001
Unicode-Point, he­xa­de­zi­mal U+00A1

Die Präfix-Codierung ver­hin­dert, dass innerhalb einer Byte-Kette ein weiteres Zeichen codiert wird. Fängt ein Byte-Strom in der Mitte eines Dokuments an, stellt der Computer trotzdem die lesbaren Zeichen richtig dar, da er un­voll­stän­di­ge erst gar nicht abbildet. Suchen Sie nach dem Anfang eines Zeichens, bedingt die 4-Byte-Grenze, dass Sie an einem be­lie­bi­gen Punkt höchstens drei Byte-Ketten zu­rück­ge­hen müssen, um das Start-Byte zu finden.

Ein weiteres struk­tu­rie­ren­des Element: Die Anzahl der Einsen am Anfang des Start-Bytes kenn­zeich­net die Länge der Byte-Kette:

  • 110xxxxx steht für 2 Byte
  • 1110xxxx steht für 3 Byte
  • 11110xxx steht für 4 Byte

In Unicode ent­spricht der zu­ge­ord­ne­te Byte-Wert der Zei­chen­num­mer, was eine le­xi­ka­li­sche Ordnung er­mög­licht. Es gibt jedoch Lücken. Der Unicode-Bereich U+007F bis U+009F umfasst nicht sichtbare Kon­troll­zah­len. Der UTF-8-Standard ordnet dort keine druck­ba­ren Zeichen zu, nur Kommandos.

Die UTF-8-Codierung kann, wie erwähnt, theo­re­tisch bis zu acht Byte-Ketten an­ein­an­der­rei­hen. Unicode schreibt jedoch eine Länge von höchstens 4 Byte vor. Das hat zum einen die Folge, dass Byte-Ketten mit 5 Byte oder mehr stan­dard­mä­ßig ungültig sind. Zum anderen re­flek­tiert diese Ein­schrän­kung das Bestreben, Code möglichst kompakt – also mit wenig Spei­cher­platz­be­las­tung – und möglichst struk­tu­riert ab­zu­bil­den. So lautet eine grund­sätz­li­che Regel bei der Ver­wen­dung von UTF-8, dass immer die kür­zest­mög­li­che Codierung genutzt werden soll.

Hinweis

Diese Regel ist der Grund, dass die mit 192 und 193 be­gin­nen­den Byte-Folgen un­zu­läs­sig sind. Denn sie stellen po­ten­zi­ell Zeichen im ASCII-Bereich (0–127) mit 2 Byte dar, die bereits mit 1 Byte codiert sind.

Für manche Zeichen gibt es jedoch mehrere gleich­wer­ti­ge Ko­die­run­gen. Der Buchstabe ä wird bei­spiels­wei­se mittels 2 Bytes codiert: 11000011 10100100. Theo­re­tisch ist es möglich, die Code­points für den Buch­sta­ben „a“ (01100001) und das Diäresis-Zeichen „*“ (11001100 10001000) zu kom­bi­nie­ren, um „ä“ dar­zu­stel­len: 01100001 11001100 10001000. Hier wird die so­ge­nann­te Unicode-Nor­ma­li­sie­rungs­form NFD genutzt, bei der Zeichen kanonisch de­kom­po­niert werden. Beide gezeigten Ko­die­run­gen führen zum exakt selben Ergebnis (nämlich „ä“) und sind daher kanonisch äqui­va­lent.

Hinweis

Nor­ma­li­sie­run­gen dienen dazu, un­ter­schied­li­che Unicode-Dar­stel­lun­gen desselben Zeichens zu ver­ein­heit­li­chen. Dabei ist ka­no­ni­sche Äqui­va­lenz wichtig: Sie besagt, dass zwei Zei­chen­fol­gen zwar un­ter­schied­lich kodiert sein können, aber dieselbe Bedeutung und Dar­stel­lung haben. Kom­pa­ti­ble Äqui­va­lenz hingegen erlaubt auch Zei­chen­fol­gen, die sich in Format oder Stil un­ter­schei­den, aber in­halt­lich gleich sind. Die Unicode-Nor­ma­li­sie­rungs­for­men (z. B. NFC, NFD, NFKC, NFKD) nutzen diese Konzepte, um Texte zu stan­dar­di­sie­ren. So wird si­cher­ge­stellt, dass Ver­glei­che, Sor­tie­run­gen und Suchen kon­sis­tent und zu­ver­läs­sig funk­tio­nie­ren.

Einige Unicode-Wer­te­be­rei­che wurden für UTF-8 nicht definiert, da sie für UTF-16-Sur­ro­ga­tes be­reit­ste­hen. Die Übersicht zeigt, welche Bytes in UTF-8 unter Unicode laut Internet En­gi­nee­ring Task Force (IETF) als zulässig gelten (grün markierte Bereiche sind gültige Bytes, orange markierte sind ungültige).

Bild: Tabelle: UTF-8-Wertebereiche
Die Tabelle gibt einen Überblick über die gültigen UTF-8-Wer­te­be­rei­che.

Um­rech­nung von Unicode he­xa­de­zi­mal zu UTF-8 binär

Computer lesen nur binäre Zahlen, Menschen nutzen ein De­zi­mal­sys­tem. Eine Schnitt­stel­le zwischen diesen Formen ist das He­xa­de­zi­mal­sys­tem. Es hilft dabei, lange Bit-Ketten kompakt dar­zu­stel­len. Es verwendet die Ziffern 0 bis 9 und die Buch­sta­ben A bis F und agiert auf der Basis der Zahl 16. Als vierte Potenz von 2 eignet sich das He­xa­de­zi­mal­sys­tem besser als das De­zi­mal­sys­tem dafür, acht­stel­li­ge Byte-Bereiche dar­zu­stel­len.

Eine He­xa­de­zi­mal­zif­fer steht für eine Vie­rer­ket­te („Nibble“) innerhalb des Oktetts. Ein Byte mit acht Bi­när­zif­fern kann also mit nur zwei He­xa­de­zi­mal­zif­fern dar­ge­stellt werden. Unicode nutzt das He­xa­de­zi­mal­sys­tem dafür, die Position eines Zeichens innerhalb des eigenen Systems zu be­schrei­ben. Daraus lassen sich die binäre Zahl und schließ­lich der UTF-8-Codepoint errechnen.

Zuerst muss die Binärzahl aus der He­xa­de­zi­mal­zahl um­ge­wan­delt werden. Dann passen Sie die Code­points in die Struktur der UTF-8-Codierung ein. Um sich die Struk­tu­rie­rung zu er­leich­tern, nutzen Sie folgende Übersicht, die zeigt, wie viele Code­points in eine Byte-Kette passen und welche Struktur Sie in welchem Unicode-Wer­te­be­reich zu erwarten haben.

Größe in Byte freie Bits zur Be­stim­mung erster Unicode-Codepoint letzter Unicode-Codepoint Start-Byte / Byte 1 Folge-Byte 2 Folge-Byte 3 Folge-Byte 4
1 7 U+0000 U+007F 0xxxxxxx
2 11 U+0080 U+07FF 110xxxxx 10xxxxxx
3 16 U+0800 U+FFFF 1110xxxx 10xxxxxx 10xxxxxx
4 21 U+10000 U+10FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

Innerhalb eines Code-Bereichs können Sie eine Anzahl ver­wen­de­ter Bytes vor­aus­set­zen, da die le­xi­ka­li­sche Ordnung bei der Num­me­rie­rung der Unicode-Code­points und UTF-8-Bi­när­zah­len ein­ge­hal­ten wird. Innerhalb des Bereiches U+0800 und U+FFFF nutzt UTF-8 also 3 Bytes. Es stehen 16 Bits dafür zur Verfügung, den Codepoint eines Symbols aus­zu­drü­cken. Die Ein­ord­nung einer er­rech­ne­ten Binärzahl in das UTF-8-Schema erfolgt von rechts nach links, wobei Sie etwaige Leer­stel­len links mit Nullen auffüllen.

Bei­spiel­rech­nung:

Das Zeichenᅢ(Hangul Junseong, Ä) steht in Unicode an Stelle U+1162. Um die Binärzahl zu berechnen, wandeln Sie zuerst die He­xa­de­zi­mal­zahl in eine De­zi­mal­zahl um. Jede Stelle in der Zahl ent­spricht der kor­re­lie­ren­den Potenz von 16. Die rechte Ziffer hat dabei den nied­rigs­ten Wert mit 160 = 1. Von rechts beginnend, mul­ti­pli­zie­ren Sie den Zah­len­wert der Ziffer mit dem der Potenz. An­schlie­ßend addieren Sie die Er­geb­nis­se.

Bild: Beispielrechnung: Hexadezimalzahl zu Dezimalzahl umwandeln
Wandeln Sie in einem ersten Schritt die He­xa­de­zi­mal­zahl zu einer De­zi­mal­zahl um.

4450 ist die be­rech­ne­te De­zi­mal­zahl. Diese wandeln Sie nun in eine Binärzahl um. Dazu teilen Sie die Zahl so lange mit Rest durch 2, bis das Ergebnis 0 ist. Der Rest, von rechts nach links auf­ge­schrie­ben, ist die Binärzahl.

Bild: Beispielrechnung: Dezimalzahl zu Binärzahl umwandeln
Wandeln Sie in einem nächsten Schritt die De­zi­mal­zahl zu einer Binärzahl um.

Der UTF-8-Code schreibt für den Codepoint U+1162 3 Bytes vor, denn der Codepoint liegt zwischen U+0800 und U+FFFF. Das Start-Byte beginnt also mit 1110. Die zwei Folge-Bytes beginnen jeweils mit 10. Die Binärzahl ergänzen Sie in den freien Bits, die nicht die Struktur vorgeben, von rechts nach links. Übrige Bit-Stellen im Start-Byte ergänzen Sie mit 0, bis das Oktett voll ist. Die UTF-8-Codierung sieht dann so aus:

11100001 10000101 10100010 (der ein­ge­füg­te Codepoint ist gefettet)

Zeichen Unicode-Codepoint, he­xa­de­zi­mal De­zi­mal­zahl Binärzahl UTF-8
U+1162 De­zi­mal­zahl 4450 1000101100010

UTF-8 im Editor

UTF-8 ist zwar der am weitesten ver­brei­te­te Standard im Internet, einfache Text-Editoren speichern Texte aber nicht unbedingt stan­dard­mä­ßig in diesem Format ab. Microsoft Notepad nutzt bei­spiels­wei­se stan­dard­mä­ßig eine Codierung, die es als „ANSI“ be­zeich­net (dahinter verbirgt sich die ASCII-basierte Codierung „Windows-1252“). Wollen Sie eine Text-Datei aus Microsoft Word heraus in UTF-8 kon­ver­tie­ren (zum Beispiel, um ver­schie­de­ne Schrift­sys­te­me ab­zu­bil­den), gehen Sie wie folgt vor: Gehen Sie auf „Speichern unter“ und wählen Sie unter Dateityp die Option „Nur Text“.

Bild: Screenshot: Dokument sichern bei Word
Auch bei Microsoft Word haben Sie die Mög­lich­keit, Dokumente als einfachen Text zu speichern.

Das Pop-up-Fenster „Da­tei­kon­ver­tie­rung“ öffnet sich. Wählen Sie unter „Text­co­die­rung“ den Punkt „Andere Codierung“ und aus der Liste die Option „Unicode (UTF-8)“. Im Drop-down-Menü „Zeilen beenden mit“ wählen Sie „Wa­gen­rück­lauf/Zel­len­vor­schub“ be­zie­hungs­wei­se „CR/LF“. So einfach kon­ver­tie­ren Sie eine Datei in den Unicode-Zei­chen­satz mit UTF-8.

Bild: Screenshot: Dateikonvertierung bei Word
Neben UTF-8 stehen Ihnen im Fenster „Da­tei­kon­ver­tie­rung“ u. a. auch Unicode (UTF-16) mit und ohne Big-Endian sowie ASCII und viele weitere Co­die­run­gen zur Auswahl.

Öffnen Sie eine un­mar­kier­te Text-Datei, bei der Sie vorher nicht wissen, welche Codierung an­ge­wen­det wurde, kann es bei der Be­ar­bei­tung zu Problemen kommen. Unter Unicode nutzt man für solche Ge­le­gen­hei­ten die Byte Order Mark (BOM). Mit diesem un­sicht­ba­ren Zeichen lässt sich anzeigen, ob das Dokument in einem Big-Endian- oder Little-Endian-Format vorliegt. Wenn nämlich ein Programm eine Datei in UTF-16 Little-Endian mithilfe von UTF-16 Big-Endian decodiert, wird der Text feh­ler­haft aus­ge­ge­ben.

Dokumente, die auf dem UTF-8-Zei­chen­satz aufbauen, haben dieses Problem nicht, da die Byte-Rei­hen­fol­ge immer als Big-Endian-Byte-Sequenz aus­ge­le­sen wird. Die BOM dient in diesem Fall lediglich als Hinweis darauf, dass das vor­lie­gen­de Dokument UTF-8-codiert ist.

Hinweis

Zeichen, die mit mehr als einem Byte dar­ge­stellt werden, können in manchen Co­die­run­gen (UTF-16 und UTF-32) das höchst­wer­ti­ge Byte an vor­ders­ter (links) oder hin­ters­ter (rechts) Position besitzen. Steht das höchst­wer­ti­ge Byte („Most Si­gni­fi­cant Byte“, MSB) vorne, erhält die Codierung den Zusatz „Big-Endian“, steht das MSB hinten, wird „Little-Endian“ angefügt.

Sie setzen die BOM vor einen Da­ten­strom be­zie­hungs­wei­se an den Anfang einer Datei. Die Mar­kie­rung hat Vorrang vor allen anderen An­wei­sun­gen, auch vor dem HTTP-Header. Die BOM dient als eine Art Signatur für Unicode-Co­die­run­gen und hat den Codepoint U+FEFF. Je nachdem, welche Codierung benutzt wird, stellt sich die BOM in der codierten Form un­ter­schied­lich dar.

Co­die­rungs­for­mat BOM, Codepoint: U+FEFF (hex.)
UTF-8 EF BB BF
UTF-16 Big-Endian FE FF
UTF-16 Little-Endian FF FE
UTF-32 Big-Endian 00 00 FE FF
UTF-32 Little-Endian FF FE 00 00

Die Byte Order Mark verwenden Sie nicht, wenn das Protokoll es explizit verbietet oder Ihre Daten bereits einem be­stimm­ten Typ zu­ge­ord­net sind. Manche Programme erwarten laut Protokoll ASCII-Zeichen. Da UTF-8 rück­wärts­kom­pa­ti­bel mit der ASCII-Codierung ist und seine Byte-Rei­hen­fol­ge feststeht, brauchen Sie dann keine BOM. Tat­säch­lich empfiehlt Unicode, die BOM unter UTF-8 nicht zu nutzen. Da sie aber in älterem Code vorkommen und Probleme bereiten kann, ist es wichtig, die eventuell vor­han­de­ne BOM als solche zu iden­ti­fi­zie­ren.

Website mit eigener Domain – MyWebsite Now
Erstellen Sie Ihre eigene Website in wenigen Minuten
  • Pro­fes­sio­nel­le Templates
  • Än­de­run­gen am Design mit nur einem Klick
  • Domain, SSL und E-Mail-Postfach inklusive
Zum Hauptmenü