Ну, это зависит от операционной системы. На большинстве Unix’ов — да, на Windows — нет. Да, на Windows wchar_t — это тоже НЕ ОДИН СИМВОЛ, гуглите, что такое UTF-16 и «суррогатная пара».
Я заочник, киевлянин, не могу сказать.
У нас те пары, которые были очными, 18…21.
Через дорогу каток — так главной проблемой было взять и коньки, и ноутбук. Учился понемногу и там, и тут. На парах — алгоритмы. На катке — продавил вращение сидя (правда, уже летом довёл до логического конца).
Стандартного способа конвертации нет. Теоретически std::locale, но реально — возможно, как-то и работает на Linux, на Windows — фигвам.
Для преобразования есть libiconv, но я с ней не работал.
Варианты…
• Битая память.
• Странная ошибка в прошивке какой-нибудь «железки».
Вот совсем недавно на хабре один товарищ сказал, что в очень специфичных условиях винт Fujitsu портит один бит.
Давно я хакерством не занимался, неспособен быстро восстановить картинку. Почти уверен, что там один байт испорчен.