2017-09-20 2 views
0

Welche Möglichkeiten gibt es, um ISO 8859-X zu UNICODE in C++ zu konvertieren? Mit UNICODE meine ich UNICODE-Codepunkte zwischen 0 und 65.535, da alle ISO 8859-X Zeichensätze sind, die diesen Bereich belegen.Möglichkeiten zum Konvertieren von ISO 8859-X in UNICODE

Am offensichtlichsten wäre es, die Mappings-Tabellen (http://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT) zu erhalten und einen Parser dafür zu machen. Aber ich nehme an, dass es dafür Bibliotheken gibt (ich habe keine gefunden)?

Ich weiß, dass es einen trivialen Code für die ISO-8859-1-Konvertierung gibt, aber ignorieren wir ihn, da er nur mit dieser speziellen ISO-Codierung funktioniert.

Können Sie teilen, was die Optionen sind? Möglicherweise welche Vor-/Nachteile jeder Option?

Persönlich würde ich etwas Leichtes bevorzugen, da ich nur die Ein-Weg-Konvertierung und ISO nur keine volle UNICODE-Unterstützung brauche.

+0

Da es keinen Algorithmus gibt, sind die Auswahlmöglichkeiten entweder Tabellen oder eine Bibliothek, die diese Tabellen umschließt. Ich würde es eine Ressourcenanforderung nennen, aber das ist nicht subjektiv. Es gibt offizielle Tabellen. Aber da diese Tabellen bereits erwähnt sind, frage ich mich, was die eigentliche Frage ist. – MSalters

+0

Ich frage mich, ob es dafür Bibliotheken gibt. Oder vielleicht einige Funktionen in der Standard C++ Bibliothek dafür? Ich möchte das Rad nicht neu erfinden, wenn es nicht gebraucht wird, also frage ich :) – Chris

+0

Werfen Sie einen Blick auf Boost.Locale. –

Antwort

1

Sie können eine dedizierte Unicode-Konvertierungsbibliothek wie ICONV oder ICU verwenden. Wenn Sie nur die Konvertierung von ISO-8859-X in Unicode benötigen und nicht umgekehrt, können Sie einfach ein statisches Array deklarieren, das die entsprechenden Unicode-Codepunkte enthält.

Es sind nur 16 ISO-8859-Zeichensätze definiert (naja, ein paar mehr, wenn Sie Varianten zählen), mit jeweils bis zu 256 Werten. Dann können Sie Ihre Eingabezeichenfolge mithilfe ihrer Zeichen als Indizes im Array durchlaufen.

Verwandte Themen