Zeichencodierungs-Konverter (UTF-8 / GBK, Kodierungserkennung und Reparatur chinesischer Zeichendarstellung)

Die Erkennung ist heuristisch: zuerst BOM, dann reines ASCII, danach striktes UTF-8 und zuletzt eine GBK-Wahrscheinlichkeit. Browser können eine Kodierung nicht mit Sicherheit bestimmen.
Ausgabekodierung: — Bytes: — Zeichen: 0
Schnellreparatur
Typische Zeichensalat-Fälle: eine Folge von CJK-Zeichen bedeutet, dass UTF-8-Bytes als GBK gelesen wurden; akzentuierte lateinische Zeichen bedeuten, dass GBK-Bytes als Einzelbytes gelesen wurden. Mit den Schaltflächen oben lässt sich der Text wiederherstellen.
Realer Umfang: UTF-8 und UTF-16 werden nativ dekodiert, GBK und GB2312 unterstützen die eingebauten Decoder des Browsers; die Umwandlung von UTF-8 in GBK-Bytes nutzt eine lokal in diesem Tool aufgebaute Tabelle (es wird keine Bibliothek geladen). Zeichen, die GBK nicht enthält, führen zu einer klaren Fehlermeldung statt stillschweigend zu verschwinden. UTF-32 wird manuell kodiert, damit Zeichen außerhalb der Grundebene ihren echten Codepunkt behalten.
Alle Umwandlungen laufen lokal im Browser. Die Eingabe wird nie auf einen Server übertragen und es ist keine Registrierung nötig.

Zeichencodierungs-Konverter (UTF-8 / GBK, Kodierungserkennung und Reparatur chinesischer Zeichendarstellung): Bytes und Unicode-Codepoints anzeigen, Kodierung erkennen und fehlerhafte Zeichen lokal reparieren

Wie funktioniert der Zeichencodierungs-Konverter? Bytes prüfen, Kodierungen erkennen und Zeichensalat reparieren

Ein Zeichencodierungs-Konverter wandelt Text zwischen verschiedenen Zeichencodierungen um und zeigt gleichzeitig UTF-8-Bytes und Unicode-Codepoints an.

Quell- und Zielkodierung auswählen und die Konvertierung durchführen. Wenn die ursprüngliche Kodierung unbekannt ist, kann zunächst eine Erkennung ausgeführt werden. Die gesamte Verarbeitung erfolgt lokal im Browser.

Drei häufige Ursachen für chinesischen Zeichensalat

Die erste Ursache ist das Lesen von UTF-8-Bytes als GBK, wodurch häufig Kombinationen wie „浣犲ソ“ entstehen. Die zweite ist das Lesen von GBK-Bytes als Single-Byte-Kodierung, wodurch Kombinationen aus lateinischen Buchstaben und Symbolen entstehen. Die dritte ist ein BOM am Anfang eines Byte-Streams, das vom Empfänger nicht entsprechend der angegebenen Kodierung interpretiert wird. Die Diagnose ist einfach: Das Erscheinungsbild des Zeichensalats prüfen und anschließend die entsprechende Rückkonvertierung verwenden.

Die wesentlichen Unterschiede zwischen UTF-8, GBK, UTF-16 und UTF-32

UTF-8 ist eine variable Kodierung mit 1 bis 4 Bytes pro Zeichen. Englische Zeichen benötigen 1 Byte, übliche chinesische Zeichen 3 Bytes. Deshalb ist UTF-8 der De-facto-Standard für Webseiten und APIs. GBK und GB2312 sind chinesische Double-Byte-Kodierungen, die vor allem in chinesischen Umgebungen und älteren Systemen vorkommen. UTF-16 und UTF-32 verwenden breitere Zeichendarstellungen. UTF-16 ist intern in Windows und in einigen Dateiformaten verbreitet, während UTF-32 Codepoint-Berechnungen vereinfacht, dafür aber mehr Speicher benötigt. Da unterschiedliche Kodierungen für denselben Text unterschiedliche Bytefolgen erzeugen, haben Bytes ohne Kodierungsinformationen keine eindeutige Textinterpretation.

Warum kann die Kodierungserkennung nur Kandidaten und eine Konfidenz liefern?

Eine Bytefolge enthält normalerweise keine eigene Kodierungsdeklaration. Die Erkennung basiert daher auf Regeln und Test-Decodierungen: Zuerst wird nach einem BOM gesucht, anschließend geprüft, ob alle Bytes im ASCII-Bereich liegen, danach eine strikte UTF-8-Decodierung validiert und schließlich geprüft, ob eine GBK-Decodierung plausiblen chinesischen Text ergibt. Diese Methode deckt viele typische Fälle ab, aber kurze Texte und reine Symbolfolgen können mehrere Kodierungen zulassen. Daher liefert das Werkzeug Kandidaten, Konfidenz und Begründungen statt einer absoluten Aussage.

Warum lassen sich UTF-8 und GBK nicht beliebig ineinander umwandeln?

UTF-8 kann wesentlich mehr Zeichen darstellen als GBK. GBK deckt chinesische Zeichen und einen Teil der Symbole ab. Zeichen, die GBK nicht enthält, beispielsweise viele Emoji und seltene Zeichen, können daher nicht als GBK-Bytes ausgegeben werden. In diesem Fall meldet das Werkzeug das nicht unterstützte Zeichen, anstatt es stillschweigend zu verwerfen. Die Konvertierung von GBK nach UTF-8 hat diese Einschränkung normalerweise nicht, da UTF-8 einen größeren Zeichenvorrat besitzt.

Wofür werden Bytefolgen und Unicode-Codepoints verwendet?

Eine Bytefolge ist die tatsächliche Darstellung, die in Dateien gespeichert und über Netzwerke übertragen wird. Sie ist wichtig bei der Fehlersuche in Zeichensalat, bei der Prüfung von APIs und beim Vergleich von Datenbankfeldern. Ein Unicode-Codepoint wie U+4F60 identifiziert ein Zeichen unabhängig von der konkreten Kodierung. Damit lässt sich zuverlässig feststellen, ob zwei Zeichen tatsächlich identisch sind. Das Werkzeug zeigt beide Perspektiven zur gegenseitigen Kontrolle.

Was kann dieses Werkzeug und was kann es nicht?

Es unterstützt Konvertierungen zwischen UTF-8, GBK, GB2312, UTF-16LE/BE und UTF-32LE/BE, die Anzeige von Bytes und Codepoints, Kodierungserkennung sowie die Reparatur zweier häufiger Arten von Zeichensalat per Klick. Es errät keine Kodierung ohne ausreichende Hinweise, übersetzt oder korrigiert keinen Text und verarbeitet keine Binärdateien oder Bilder. UTF-8 und UTF-16 verwenden die nativen Decoder des Browsers, GBK und GB2312 die vom Browser unterstützten Decoder. Die Byte-Ausgabe von UTF-8 nach GBK verwendet eine lokal aufgebaute Zeichentabelle und lädt keine Bibliothek eines Drittanbieters herunter. Die gesamte Konvertierung erfolgt lokal im Browser und eingegebene Inhalte werden nicht auf den Server übertragen.

Kann chinesischer Zeichensalat direkt repariert werden? Zuerst muss die Ursache erkannt werden.

Zeichensalat bedeutet nicht unbedingt, dass die Zeichen beschädigt wurden. Häufig wurden dieselben Bytes lediglich mit der falschen Kodierung decodiert. Werden UTF-8-Bytes als GBK gelesen, können Kombinationen wie „浣犲ソ“ entstehen; werden GBK-Bytes als Single-Byte-Kodierung gelesen, können lateinische Buchstaben und Symbole erscheinen. Sobald die Ursache bekannt ist, kann die entsprechende Rückkonvertierung den Text wiederherstellen.

Wenn die ursprüngliche Kodierung völlig unbekannt ist, kann die Hexadezimaldarstellung der Bytes eingefügt und zunächst die Kodierungserkennung ausgeführt werden. Anschließend stehen Kandidaten und Entscheidungsgrundlagen zur Auswahl der Konvertierungsrichtung zur Verfügung.

  • Bytes und Unicode-Codepoints werden gemeinsam angezeigt, um festzustellen, ob zwei Zeichen tatsächlich identisch sind.
  • Die Kodierungserkennung verwendet vier Schritte: BOM, reines ASCII, strikte UTF-8-Decodierung und GBK-Wahrscheinlichkeit und liefert Kandidaten und Konfidenz.
  • Unterstützt Konvertierungen zwischen UTF-8, GBK, GB2312, UTF-16LE/BE und UTF-32LE/BE.
  • Bietet die Reparatur zweier häufiger Arten von Zeichensalat per Klick: UTF-8-Bytes, die als GBK gelesen wurden, und GBK-Bytes, die als Single-Byte-Kodierung gelesen wurden.
  • Wenn der Zielzeichensatz ein Zeichen nicht darstellen kann, wird dieses Zeichen ausdrücklich gemeldet und nicht stillschweigend verworfen.
  • Die gesamte Konvertierung erfolgt lokal im Browser, die Eingaben werden nicht auf den Server hochgeladen und eine Registrierung ist nicht erforderlich.
Für Base64-, URL- oder Hex-Kodierung von Text sollte der Textkodierungs-Konverter verwendet werden. Für Zahlensysteme und Berechnungen auf Byte-Ebene steht der Zahlensystem-Konverter zur Verfügung.
Kommentare 0
Noch keine Kommentare. Schreibe den ersten Kommentar!
avatar
Der Kommentarinhalt darf nicht leer sein
0/255