2009-06-22 19 views
0

Hier ist meine Beschreibung von Unicode. Bitte korrigieren und kommentieren.Ist das eine gute Beschreibung von Unicode?

Unicode trennt die Darstellung eines Zeichens vom Mechanismus zum Speichern eines Zeichens. Dies unterscheidet sich von ANSI, bei dem jedes Zeichen durch ein Byte repräsentiert wird.

Eine ANSI-Codepage bildet Zeichen in Bytedarstellungen ab. Unicode ordnet Zeichen den Codepunkten zu. Ein Codepunkt ist ein abstraktes Konzept. Es liegt in der Verantwortung des Codierungsschemas, die Unicode-Codepunkte in Bytes darzustellen.

Es gibt viele Unicode-Codierungsschemas. Einige Codierungsschemas verwenden eine feste Anzahl von Bytes, um einen Unicode-Codepunkt darzustellen. Dieser Ansatz muss die Anzahl der Codepunkte, die die Codierung darstellen kann, und die Menge des benötigten Speicherplatzes ausgleichen. Andere Codierungsschemas verwenden eine variable Anzahl von Bytes, um einen Unicode-Codepunkt darzustellen. Dieser Ansatz verkompliziert das Parsen der Daten, vermeidet jedoch die Einschränkung 'Umfang der Darstellung'/'Speicherplatz', die feste Byte-Längencodierungen erleiden.

UTF-8 ist die am häufigsten verwendete Unicode-Codierung. Die Popularität von UTF-8 ist darauf zurückzuführen, dass es mit ASCII kompatibel ist. ASCII ist eine Teilmenge von ANSI, die das englische Alphabet, Ziffern und übliche Interpunktion enthält. UTF-8 ist eine Codierung mit variabler Länge und kann alle Unicode-Codepunkte codieren.

+0

Nicht Programmierung bezogen –

+1

??? Wie ist Unicode nicht programmiert? – Treb

+2

@Binary - Wenn Unicode nicht programmiert ist, worauf bezieht es sich dann? –

Antwort

0

Das klingt ziemlich genau. Sie können hinzufügen, dass UTF-8 häufig zum Speichern von Textdokumenten verwendet wird und häufig verwendet wird, um Text über die Leitung zu übertragen, da UTF-16 auch sehr häufig in Java und .NET String-Klassen verwendet UTF-16 ist weil es effizient ist.

0

Ein paar Feinheit: ASCII-Kompatibilität ist nicht die nur (oder sogar das Haupt) Grund für die Popularität von UTF-8 - AFAIK, eine sehr beliebte Nebenwirkung von ASCII-Kompatibilität ist, dass die Byte-Größe eines Die in UTF-8 konvertierte ASCII-Zeichenfolge ist identisch. Mit anderen Worten, wenn Sie Text mit wenigen oder keinen Nicht-ASCII-Zeichen schreiben, erhalten Sie alle Vorteile von ASCII und nur ein paar Bytes mehr für die Nicht-ASCII-Zeichen. Außerdem glaube ich, dass alle offiziellen Unicode-Codierungen alle Unicode-Codepunkte darstellen können. Diese

0

ich der Referenzen loswerden würde nach ANSI, wenn ich du wäre. Im Zusammenhang mit Zeichensätzen und Codierungen bezieht sich "ANSI" normalerweise auf die Standard-Codepage eines beliebigen (Windows-) Systems, an dem Sie gerade arbeiten. Das bedeutet normalerweise eine von Microsoft's erweiterten oder geänderten Versionen eines existierenden Standards, wie windows-1252 im Gegensatz zu ISO-8859-1. Ironischerweise haben diese Erweiterungen nicht von ANSI gesegnet worden. Diese Verwendung des Begriffs "ANSI" wurde von Microsoft geprägt und kann normalerweise in der Codierungsauswahl von "Speichern unter" -Dialogen in Microsoft-Apps wie Notepad gefunden werden. Dort finden Sie normalerweise eine Option namens "Unicode", was eigentlich UTF-16 (Little-Endian, ohne BOM) bedeutet.

Wenn Sie also Unicode wirklich verstehen möchten, sollten Sie zunächst alles, was Sie gelernt oder abgeleitet haben, in Windows-Software (oder Software von Drittanbietern, die Windows-Software emuliert) anzeigen. In der Tat, werfen Sie alles Sie bisher über Unicode abgeholt haben und von vorne anfangen. Es ist ein komplexes Thema, und wie bei jedem komplexen Thema werden Sie viel mehr schlechte Informationen darüber finden als gut.

0

UTF-8 ist nur in der westlichen Hemisphäre beliebt.Sprachen, die immer Multibyte-Codierung benötigen, erhalten viel mehr durch die Verwendung von UTF-16 oder sogar UTF-32.

Prost,

Verwandte Themen