ANSI文字(char)からUnicode文字(wchar_t)に、またはその逆に変換するにはどうすればよいですか?
質問
ANSI文字(char)からUnicode文字(wchar_t)に、またはその逆に変換するにはどうすればよいですか?
この目的のためのクロスプラットフォームのソースコードはありますか?
解決
はい、<cstdlib>
には、mbstowcs()
とwcstombs()
があります。
これを使用する方法について、以前にstd::vector<char>
またはstd::vector<wchar_t>
を好むでしょう。考えてみてください。
wchar_t
はUnicodeとは何の関係もないことに注意してください。 Unicodeが必要な場合は、別のライブラリ(wchar_t
など)を使用してiconv()
からUnicodeにさらに変換する必要があり、Unicodeコードポイントのデータ型としてwchar_t
を使用しないでください。代わりに、レガシーシステムではuint32_t
を使用し、最新のシステムではchar32_t
を使用してください。
他のヒント
これはうまくいくようです。常に機能するのか、それとも偶然なのかはわかりませんが、表示する価値があると思いました。 ジェネラコディセタグプレ
プリント ジェネラコディセタグプレ
ICU や