Angenommen, wir haben eine beliebige Zeichenfolge, s.Unicode - im Allgemeinen mit ihm in C++ arbeiten
s hat die Eigenschaft von fast überall auf der Welt zu sein. Leute aus den USA, Japan, Korea, Russland, China und Griechenland schreiben von Zeit zu Zeit in s. Glücklicherweise haben wir jedoch keine Zeitreisenden, die Linear A verwenden.
Für die Gründen der Diskussion, lassen Sie uns gehen wir davon aus String-Operationen wie zu tun:
- Reverse
- Länge
- kapitalisieren
- Klein
- Index in
und, nur weil dies für die Diskussion ist, nehmen wir an, dass wir diese Routinen selbst schreiben wollen (anstatt eine Bibliothek zu greifen), und haben wir keine ältere Software zu pflegen.
Es gibt 3 Standards für Unicode: utf-8, utf-16 und utf-32, jeweils mit Vor- und Nachteilen. Aber sagen wir, ich bin irgendwie dumm, und ich möchte, dass ein Unicode sie alle beherrscht (weil das Rollen einer sich dynamisch anpassenden Bibliothek für 3 verschiedene Arten von Zeichenkodierungen, die den Unterschied zum API-Benutzer verbergen, schwer klingt).
- Welche Codierung ist am allgemeinsten?
- Welche Codierung wird von wchar_t unterstützt?
- Welche Codierung wird von der STL unterstützt?
- Sind diese Kodierungen alle (oder überhaupt nicht) null-terminiert?
-
Der Sinn dieser Frage ist, mich und andere in nützliche und verwertbare Informationen für Unicode zu erziehen: die RFCs zu lesen ist in Ordnung, aber es gibt einen ‚Stapel‘ von Informationen zu Compilern verwandt, Sprachen und Betriebssysteme, die die RFCs nicht abdecken, aber es ist wichtig zu wissen, dass Unicode tatsächlich in einer echten App verwendet wird.
Nicht genau ein Betrogener aber auch gelesen http://stackoverflow.com/questions/114611/what-is-the-best-unicode-library-for-c –
@Martin: Ich bin nicht wirklich interessiert - bei diesem Zeit - was ist die beste Bibliothek? Ich bin eher daran interessiert, mich mit Informationen über Unicode im Allgemeinen vertraut zu machen und darüber, wie ich eine umgekehrte - oder möglicherweise eine obskurere Routine - in Unicode schreiben würde, ohne dass es z. B. in der Türkei explodiert. :-) –
ja das ist, warum ich nicht als dupe geschlossen habe, aber jemand, der diese Frage findet, könnte daran interessiert sein, nur eine Bibliothek zu verwenden. Wenn dieser Thread gute Antworten bekommt, werde ich ihn im anderen Thread referenzieren. –