Texte aus UNICODE-Textdatei auslesen
-
Hallo!
Ich habe ein mehrsprachiges Programm mit dem Borland Builder geschrieben. Die verschiedenen Sprachen werden in einer ANSI-Text-Datei abgelegt und beim Start geladen und dargestellt.
Das funktioniert auch sehr gut.Jetzt habe ich eine Text-Datei im UNICODE-Format in der russische Texte enthalten sind bekommen.
Jetzt die Frage: Wie kann ich die UNICODE-Text-Datei richtig einlesen.
Derzeit lese ich Textdateien mit "fopen" und "fgets".
Das funktioniert aber mit UNICODE-Textdateien nicht.Kann mir jemand weiterhelfen?
-
mathab,
mathab schrieb:
Derzeit lese ich Textdateien mit "fopen" und "fgets".
Das funktioniert aber mit UNICODE-Textdateien nicht.zwei Dinge fallen mir dazu ein:
- Unicode(UTF-16)-Dateien beginnen mit einer bestimmten Folge von Bytes, damit zu erkennen ist, ob überhaupt Unicode vorliegt - hier eine kleine Tabelle:
Byte-order mark Description EF BB BF UTF-8 FE FF UTF-16/UCS-2, little endian FF FE UTF-16/UCS-2, big endian FF FE 00 00 UTF-32/UCS-4, little endian. 00 00 FE FF UTF-32/UCS-4, big-endianDie Quelle habe ich leider nicht mehr. Auf unicode.org oder im MS SDK sollte das aber zu finden sein. Schnapp' Dir einfach einen Hex-Editor und schau Dir die ersten beiden Bytes an.
2) Ein Unicode-Zeichen besteht aus 2 Bytes. fgetc und fgets müssen/sollten also durch die 2-Byte-Varianten fgetwc und fgetws ersetzt werden.Anschließend stellt sich noch die Frage, was Du mit den WideStrings anzufangen gedenkst. Die Komponenten, die Deine Texte darstellen sollen, müssen auch Unicode verstehen ...
-
Danke jetzt bin ich einen Schritt weiter.
Jetzt stellt sich natürlich die Frage, ob ich z.B. bei einem Menüpunkt einen "UNICODE-String" zuweisen kann, damit hier ein russischer Text korrekt dargestellt wird?