Hexadezimale Bytes sind keine Unicode-Codepunkte
Hexadezimal ist eine kompakte Darstellung von Bytes. Zwei Hex-Ziffern stehen für ein Byte von 00 bis FF. Ein einfacher lateinischer Buchstabe belegt in UTF-8 oft ein Byte, weshalb ein kurzes Beispiel wie eine Ersetzung Zeichen für Zeichen aussieht. Diese Abkürzung funktioniert bei einem Großteil des Textes, den Menschen tatsächlich schreiben, nicht mehr. Ein Buchstabe mit Akzent kann zwei Bytes benötigen; ein Emoji kann vier Bytes belegen oder eine längere Sequenz bilden.
Der Codepunkt U+00E9 bezeichnet das Zeichen é. Seine UTF-8-Bytes lauten C3 A9, nicht E9. Das einzelne Byte E9 in einen strikten UTF-8-Decoder zu geben, ist daher ein Fehler, obwohl das Hex selbst gültig ist. Wurde ein Protokoll mit einer älteren Kodierung erzeugt, klären Sie diese Kodierung an der Quelle, statt so lange zu raten, bis die Ausgabe plausibel aussieht.
Dieser Konverter prüft die Hexadezimal-Syntax, bevor er versucht, Zeichen zu dekodieren. Eine kompakte Folge wie 4869 wird akzeptiert. Ebenso vollständige Gruppen wie 48 69, 48:69 und 0x48,0x69. Eine ungerade Anzahl von Ziffern in einer Gruppe wird abgelehnt. Adressspalten, maskierte Zeichenketten aus Programmiersprachen und die druckbare Seitenspalte eines vollständigen Hexdumps liegen außerhalb dieses Parsers; fügen Sie nur die Bytedaten ein.
Halten Sie numerische Aufgaben und Textaufgaben getrennt. Hex FF steht für die ganze Zahl 255, ist aber kein gültiges eigenständiges UTF-8-Textbyte. Verwenden Sie den Zahlensystem-Konverter, um diesen Wert zu berechnen, und dieses Tool, wenn die Bytes eine Nachricht codieren. Erfolgreich dekodierter Text kann in die vorhandenen Dokumenten-Tools übergehen. NULL-Zeichen bleiben in Downloads erhalten, auch wenn die Dokumentübergabe sie ablehnt.