UTF8 – Decoding unter WIN32
Heute gibt es mal eine Lösung zu einem relativ trivialen Problem, welches aber oft unnötigerweise durch Zuhilfenahme zusätzlicher, externer Bibliotheken gelöst wird:
Die UTF-8 Konvertierung.
Windows verwaltet intern alles durch seine wchars, welche 16bit zur Darstellung eines Zeichens benötigen. Die Konvertierung von UTF-8 in die derzeit benutzte system-locale führt daher auch über WideChars:
Zuer konvertiert man mit MultiByteToWideChar UTF-8 auf wchar und anschließend mittels WideCharToMultiByte auf die aktuelle locale. Mit dieser Kombination lassen sich natürlich auch andere Zeichensätze bequem konvertieren.
Im Folgenden eine kleine C++ Beispielfunktion, die einen basic_string UTF8-decodiert.
In C funktioniert’s natürlich dementsprechend noch einfacher, das kann sich aber dann ohnehin Jeder selbst basteln:
Comments
At last, soemnoe who knows where to find the beef
Trackbacks