Исходя из этих вопросов о локалях
и описанных в этот вопрос: я действительно хотел установить фасет codecvt в локаль, которая понимает файлы UTF-16.
Я мог бы написать свой собственный. Но я не эксперт UTF, и поэтому я уверен, что понял бы это почти правильно; но сломается в самый неподходящий момент. Поэтому мне было интересно, есть ли какие-либо ресурсы (в Интернете) для предварительной сборки codecvt (или других) аспектов, которые можно использовать из C ++, которые проверены и протестированы экспертами?
Причина в том, что локаль по умолчанию (в моей системе MAC OS X 10.6) при чтении файла просто преобразует 1 байт в 1 wchar_t без преобразования. Таким образом, файлы в кодировке UTF-16 преобразуются в wstrings, содержащие большое количество нулевых ('\0') символов.