Popularität von Textkodierungen - Popularity of text encodings

Es gibt viele Methoden zum Übersetzen von Text in digitale Daten, wie z. B. Baudot-Code , EBCDIC und UTF-8 , und ihre relativen Nutzungsgrade können Aufschluss über ihre Verwendbarkeit geben, und historische Trends können den Fortschritt neuer Methoden aufzeigen.

Genaue Messungen sind nicht möglich. Die Anzahl der Anzahlen von Dokumenten unterscheidet sich von den Anzahlen, die nach der tatsächlichen Verwendung oder Sichtbarkeit dieser Dokumente gewichtet werden. Die Popularität der Codierung variiert je nach der für die Dokumente verwendeten Sprache, dem Gebietsschema, das die Quelle des Dokuments ist, oder dem Zweck des Dokuments. Text kann in Bezug auf die Codierung mehrdeutig sein, zum Beispiel ist reiner ASCII- Text gültiges ASCII oder ISO-8859-1 oder CP1252 oder UTF-8. "Tags" können auf eine Dokumentcodierung hinweisen, aber wenn diese falsch ist, kann dies von der Anzeigesoftware stillschweigend korrigiert werden (z nicht genau sein.

Popularität im World Wide Web

Nutzung der wichtigsten Codierungen im Web von 2001 bis 2012, wie von Google aufgezeichnet, wobei UTF-8 2008 alle anderen überholte und 2012 über 60% des Webs (seitdem fast 100%) erreicht hat. Die ASCII- only-Zahl umfasst alle Webseiten, die nur ASCII-Zeichen enthalten, unabhängig vom deklarierten Header.

UTF-8 ist seit 2008 die gebräuchlichste Kodierung für das World Wide Web . Mit Stand Oktober 2021 macht UTF-8 durchschnittlich 97,4 % aller Webseiten aus und 989 der 1.000 bestplatzierten Webseiten (die nächsthöheren) die beliebte Kodierung ISO-8859-1 wird von 5 dieser Websites verwendet). UTF-8 enthält ASCII als Untermenge; fast keine Websites deklarieren nur ASCII verwendet.

In allen Ländern und erfassten Sprachen gibt es weniger als 10 % alternativer Codierungen im Web.

In Gebietsschemas, in denen UTF-8 zusammen mit einer anderen Kodierung verwendet wird, ist letztere in der Regel für die zugehörige Sprache effizienter. GB 18030 , ein chinesisches Unicode-Transformationsformat , hat (effektiv) einen Anteil von 9,9 % an Websites in China und Gebieten und weniger als 0,2 % weltweit. Big5 ist eine weitere beliebte chinesische Codierung mit einem weltweiten Anteil von weniger als 0,1 %, ist jedoch in Hongkong beliebt und in Taiwan mit einem Anteil von 4,0 % etwa doppelt so beliebt. Das Single-Byte- Windows-1251 ist für die kyrillische Schrift doppelt so effizient und wird für 8,1% der russischen Websites verwendet. ZB sind griechische und hebräische Kodierungen auch doppelt so effizient, aber diese Sprachen verwenden immer noch zu 98% UTF-8. Die Unicode-Nutzung ist in Südkorea am niedrigsten, wo UTF-8 zu 92,2% verwendet wird, während der Rest der Websites, die EUC-KR verwenden , den Rest der Nutzung hat, der für koreanischen Text effizienter ist. Shift JIS und EUC-JP haben zusammen einen Anteil von 6,8 % auf japanischen Websites (der beliebtere Shift JIS hat einen globalen Anteil von 0,1 %). Mit Ausnahme von GB 18030 und UTF-16 wurden diese Codierungen für bestimmte Sprachen entwickelt und unterstützen nicht alle Unicode-Zeichen. Ab Oktober 2021 hat die Sprache Odia mit 92 % die niedrigste UTF-8-Verwendung im Web aller verfolgten Sprachen. Mehrere Sprachen verwenden UTF-8 im Internet zu 100,0 %, wie Bengali , Punjabi , Tagalog , Lao , Marathi , Kannada , Kurdisch , Paschtu , Javanisch, Grönländisch ( Kalaallisut ) und iranische Sprachen und Gebärdensprachen .

Popularität für lokale Textdateien

Lokale Speicherung auf Computern verwendet wesentlich mehr "alte" Single-Byte-Codierungen als im Web. Versuche, auf UTF-8 zu aktualisieren, wurden von Editoren blockiert, die UTF-8 nicht anzeigen oder schreiben, es sei denn, das erste Zeichen in einer Datei ist eine Byte-Reihenfolge-Markierung , was es für andere Software unmöglich macht, UTF-8 zu verwenden, ohne umgeschrieben zu werden, um es zu ignorieren die Byte-Reihenfolge-Markierung bei der Eingabe und fügen Sie sie bei der Ausgabe hinzu. UTF-16-Dateien sind auch unter Windows ziemlich verbreitet, aber nicht in anderen Systemen.

Popularität intern in der Software

Im Speicher eines Computerprogramms ist die Verwendung von UTF-8 sogar geringer als bei lokalen Festplattendateien. UTF-16 ist sehr verbreitet, insbesondere in Windows, aber auch in JavaScript , Python , Qt und vielen anderen plattformübergreifenden Softwarebibliotheken. Kompatibilität mit UTF-16-Dateien und mit der Windows-API, die UTF-8 zu einem bestimmten Zeitpunkt nicht unterstützte, ist ebenfalls ein wichtiger Faktor.

Kürzlich wurde klar, dass der Aufwand für die Übersetzung von/nach UTF-8 bei der Eingabe und Ausgabe und der Umgang mit möglichen Codierungsfehlern in der Eingabe von UTF-8 alle Einsparungen, die UTF-16 bieten könnte, bei weitem übertrifft. Daher beginnen neuere Softwaresysteme, UTF-8 zu verwenden. International Components for Unicode (ICU) hat in der Vergangenheit UTF-16 verwendet und tut dies immer noch nur für Java; während für C/C++ UTF-8 jetzt als "Standardzeichensatz" unterstützt wird, einschließlich der korrekten Behandlung von "illegalem UTF-8". Die in neueren Programmiersprachen wie Go , Julia , Rust und Swift 5 verwendeten Standard-String-Primitive gehen von der UTF-8-Codierung aus und werden auch für ihren Quellcode verwendet. PyPy verwendet auch UTF-8 für seine Strings. Microsoft empfiehlt jetzt die Verwendung von UTF-8 für Anwendungen, die die Windows-API verwenden , während weiterhin eine alte "Unicode"-Schnittstelle (d. h. UTF-16) beibehalten wird.

Verweise