Die Einführung zu Julia, Lerne Julia in Y Minuten , rät Benutzern davon ab, UTF8-Strings zu indizieren:
%Vor%Warum wird von einer Wiederholung solcher Strings abgeraten? Was speziell an der Struktur dieses alternativen Zeichenkettentyps macht Indexierungsfehler anfällig? Ist dies eine Julia-spezifische Fallstricke, oder erstreckt sich dies auf alle Sprachen mit UTF8-String-Unterstützung?
Weil in UTF8 ein Zeichen nicht immer in einem einzigen Byte kodiert ist.
Nehmen Sie zum Beispiel die deutsche Sprache böse
(böse).
Die Bytes dieser Zeichenfolge in UTF8-Codierung sind:
Wie Sie sehen können, benötigt der Umlaut ö
2 Bytes.
Wenn Sie nun diese UTF8-codierte Zeichenfolge direkt indexieren, wird "böse"[4]
Ihnen s
und nicht e
geben.
Sie können die Zeichenfolge jedoch als iterbares Objekt in julia verwenden:
%Vor%Und da Sie gefragt haben, Nein, direkte Byte-Indizierung Probleme mit UTF8-Strings sind nicht spezifisch für Julia.
Empfehlung für weitere Lektüre:
Ссылка
Tags und Links string utf-8 julia-lang