S
Spacy
Gast
Hallo.
Ich arbeite gerade an einer ganz simplen C++-Klasse, die ganz eifnaches extrahieren von Dateien aus 7z-Archiven ermöglicht. Ich hab die Grudnlegende Funktionsweise mal schnell mit MFC runtergetippt und es läuft auch, jetzt mach ich das alles zu einer Speicherschonenden Klasse ohne Betriebssystemspezifische Abhängigkeiten.
Also, folgendes Problem: Wenn ich das richtig sehe, kann ich die Dateinamen in einem Archiv als UTF-8 auslesen. Das Problem ist, dass ich TCHAR verwende, also je nachdem, ob mein Programm mit oder ohne _UNICODE Makro compiliert wird, verwendet es entweder 1 oder 2 byte pro Schriftzeichen.
Im Unicode Modus werden die UTF8-Dateinamen also komplett unleserlich, im ANSI-Modus funktioneirne eben nur die ANSI-Zeichen, und alle anderen Zeichen (é, ®) werden durch zwei andere ANSI-Zeichen ersetzt (deswegen meine ich, dass 7z Dateinamen als UTF-8 abspeichert).
Lange Rede, kurzer Sinn: Wo bekomm ich ne Systemunabhängige UTF8>Unicode(konstant 2 bytes pro Zeichen) Konversionsfunktion her?
Ist sowas schon in tchar.h oder wchar.h enthalten?
Ich arbeite gerade an einer ganz simplen C++-Klasse, die ganz eifnaches extrahieren von Dateien aus 7z-Archiven ermöglicht. Ich hab die Grudnlegende Funktionsweise mal schnell mit MFC runtergetippt und es läuft auch, jetzt mach ich das alles zu einer Speicherschonenden Klasse ohne Betriebssystemspezifische Abhängigkeiten.
Also, folgendes Problem: Wenn ich das richtig sehe, kann ich die Dateinamen in einem Archiv als UTF-8 auslesen. Das Problem ist, dass ich TCHAR verwende, also je nachdem, ob mein Programm mit oder ohne _UNICODE Makro compiliert wird, verwendet es entweder 1 oder 2 byte pro Schriftzeichen.
Im Unicode Modus werden die UTF8-Dateinamen also komplett unleserlich, im ANSI-Modus funktioneirne eben nur die ANSI-Zeichen, und alle anderen Zeichen (é, ®) werden durch zwei andere ANSI-Zeichen ersetzt (deswegen meine ich, dass 7z Dateinamen als UTF-8 abspeichert).
Lange Rede, kurzer Sinn: Wo bekomm ich ne Systemunabhängige UTF8>Unicode(konstant 2 bytes pro Zeichen) Konversionsfunktion her?
Ist sowas schon in tchar.h oder wchar.h enthalten?