QT
2010年04月12日
Windows で Qt アプリを書いているのですが、Qt の文字列クラス QString はデータを Unicode で持っているので、例えばダイアログから取得した文字列を外部の API や関数に渡す際には Shift-JIS などに変換する必要があります。
# Unicode や Shift-JIS という用語はあいまいなので良くないのですが… 簡単のため。本当は ISO/IEC 10646 や Windows-31J (旧 cp932) と書くべきだと思います。
QTextCodec クラスを使えば良いだけなのですが、なぜか Codec が初期化できなくて苦労しました。(QTextCodec::codecForName("Shift-JIS") が NULL を返す。)