Das Entwicklungsteam schlägt vor, auf UTF-8 umzusteigen

Kürzlich wurde in den Hacker News ein Manifest von Programmierern aus Tel Aviv veröffentlicht. Sie schlugen vor, UTF-8 zur Standardlösung zum Speichern von Textzeichenfolgen im Speicher und in der Kommunikation zu machen.

Das Material löste eine aktive Diskussion aus, und wir beschlossen, die Situation zu verstehen und die Argumente von IT-Experten zu berücksichtigen - darunter IBM-Ingenieure und Spezialisten des W3C-Konsortiums.


Fotos - Raphael Schaller - Unsplash

Kodierungssituation


1988 stellte Joe Becker den ersten Entwurf des Unicode-Standards vor. Das Dokument basierte auf der Annahme, dass 16 Bit ausreichen würden, um ein beliebiges Zeichen zu speichern. Es wurde jedoch ziemlich schnell klar, dass dies nicht genug war. Daher wurden neue Codierungsoptionen angezeigt - einschließlich UTF-8 und UTF-16. Die Vielfalt der Formate und das Fehlen strenger Empfehlungen zu ihrer Verwendung führten jedoch zu Verwirrung in der IT-Branche (einschließlich der Terminologie).

Das interne Format von Windows ist UTF-16 . Gleichzeitig sagen die Autoren des Manifests, das bei Hacker News diskutiert wurde , dass Microsoft einmal die Begriffe Unicode und Widechar als Synonyme für UTF-16 und UCS-2 (was berücksichtigt wird) verwendet hatursprünglicher Vorgänger von UTF-16). Für das Linux-Ökosystem ist es üblich, UTF-8 darin zu verwenden. Die Vielzahl der Codierungen führt manchmal dazu , dass Dateien während der Übertragung zwischen Computern mit unterschiedlichen Betriebssystemen beschädigt werden.

Die Standardisierung der Branche könnte die Lösung sein - der Übergang zu UTF-8 zum Speichern von Textzeichenfolgen im Speicher oder auf der Festplatte und zum Austausch von Paketen über das Netzwerk.

Warum UTF-8 als besser als UTF-16 angesehen wird


Eines der Hauptargumente ist, dass UTF-8 den Speicherplatz reduziert, den Zeichen im lateinischen Alphabet belegen (sie werden von vielen Programmiersprachen verwendet). Lateinische Buchstaben, Zahlen und gebräuchliche Interpunktion werden in UTF-8 mit nur einem Byte codiert . Darüber hinaus entsprechen ihre Codes Codes in ASCII, was eine Abwärtskompatibilität bietet.

IBM Experten sagen auch, dass UTF-8 besser für die Interaktion mit Systemen geeignet ist, die nicht erwarten, dass Multibyte-Daten eintreffen. Andere Unicode-Codierungen enthalten zahlreiche Null-Bytes. Dienstprogramme können sie am Ende der Datei finden. In UTF-16 sieht das Zeichen A beispielsweise folgendermaßen aus : 00000000 01000001. In einer C-Linie kann diese Sequenz getrimmt werden. Im Fall von UTF-8 ist Null nur NUL. In dieser Codierung wird der erste Buchstabe des lateinischen Alphabets als 01000001 dargestellt - es gibt keine Probleme mit einer unerwarteten Unterbrechung.

Aus dem gleichen Grund empfehlen die Ingenieure des W3C-Konsortiums die Verwendung von UTF-8 bei der Entwicklung von Front-End-Schnittstellen. So können Sie Schwierigkeiten beim Betrieb von Netzwerkgeräten vermeiden.


Fotos - Kristian Strand - Unsplash

Resident Hacker News notiertMit UTF-8 können Sie Codierungsfehler frühzeitig erkennen. Darin werden Bytes nacheinander gelesen und Overhead-Bits bestimmen ihre Anzahl. Somit wird der Codepunktwert eindeutig berechnet und Anwendungsentwickler müssen nicht über das Little-Endian- oder Big-Endian- Problem nachdenken .

Wo UTF-16 den Vorteil hat


Lateinische Buchstaben und Satzzeichen können in UTF-8 weniger Speicher beanspruchen (im Vergleich zu UTF-16). Einige Codepunkte erfordern in beiden Codierungen die gleiche Anzahl von Bytes - dies gilt beispielsweise für Griechisch und Hebräisch.

Bei asiatischen Zeichen ist die Situation anders - im Fall von UTF-8 benötigen sie mehr Platz . Beispielsweise wird das chinesische Zeichen durch drei Bytes dargestellt: 11101000 10101010 10011110 . Das gleiche Zeichen in UTF-16 sieht aus wie 10001010 10011110 .

Was ist das Ergebnis


Die Debatte über das Problem der Einführung einer einzigen Kodierung hat lange gedauert. Diese Frage wurde vor fast elf Jahren in einem Thread zu Stack Overflow aufgeworfen . Pavel Radzivilovsky (Pavel Radzivilovsky) - einer der Autoren des Manifests nahm daran teil. Seitdem ist UTF-8 bereits zu einer der beliebtesten Codierungen im Internet geworden. Und es wurde in der WHATWG, einer Community von HTML- und API-Spezialisten, die relevante Standards entwickelt , als obligatorisch für „alle Situationen“ anerkannt .

Vor kurzem hat Microsoft auch damit begonnen , die Verwendung von UTF-8 bei der Entwicklung von Webanwendungen zu empfehlen . Vielleicht wird sich diese Praxis in Zukunft auch auf andere Versorgungsunternehmen erstrecken.



:

« www»: -
« IaaS»: 1cloud
: AdTech- GDPR?
10- —
,


All Articles