I would say that using std::string or std::wstring does not matter.
In any case, none of them supports proper Unicode support.
If you need internationalization, you need proper Unicode support and you should start investigating libraries like ICU.
After that, itβs a matter of using encoding, and it depends on the platform you are on: wrap the OS-dependent objects behind the abstraction layer and convert it to the implementation layer when applicable.
Don't worry about the encoding used by the Unicode library that you are using (or creating?), This is a performance issue and should not affect the use of the library itself.
Matthieu M.
source share