Ich muss eine Textdatei lesen, die Unicode mit UTF-8-Codierung ist und diese Daten in eine andere Textdatei schreiben müssen. Die Datei enthält tabulatorgetrennte Daten in Zeilen.Lesen einer UTF-8 Unicode-Datei durch Nicht-Unicode-Code
Mein Lesecode ist C++ - Code ohne Unicode-Unterstützung. Ich lese die Datei Zeile für Zeile in einer string/char*
und setze diese Zeichenfolge unverändert in die Zieldatei. Ich kann den Code nicht ändern, daher sind Code-Change-Vorschläge nicht erwünscht.
Was ich wissen möchte, ist, dass ich beim zeilenweisen Lesen ein NULL-Endzeichen ('\ 0') innerhalb einer Zeile finden kann, da es Unicode ist und ein Zeichen mehrere Bytes umfassen kann.
Mein Denken war, dass es durchaus möglich ist, dass ein NULL-Abschlusszeichen innerhalb einer Zeile angetroffen werden konnte. Ihre Gedanken?
Tatsächlich wurde UTF-8 speziell so entworfen, dass dies zutrifft, weil es nützlich ist, eine Kodierung zu haben, in der der ASCII-Bereich in jeweils einem Byte gespeichert ist, und die vernünftig funktioniert, wenn sie an 'strcpy() übergeben wird. 'und seine Freunde. – RBerteig