0

wxString から UniChar に変換するには?

4

1 に答える 1

2

wxMBConv クラスを確認する必要があります。

これらすべての変換の基本クラスは wxMBConv クラスです (これ自体が標準の libc ロケール変換を実装しています)。派生クラスには、wxMBConvLibc、いくつかの異なる wxMBConvUTFxxx クラス、およびさまざまな種類の変換を実装する wxCSConv が含まれます。必要に応じて、独自のカスタム エンコーディング用に独自のクラスを派生させて使用することもできます。MB2WC および WC2MB メソッドをオーバーライドするだけです。

wxWidgets が提供する wxMBConv クラスのいくつかには、定義済みのインスタンス (wxConvLibc、wxConvFileName、wxConvUTF7、wxConvUTF8、wxConvLocal) があります。これらの定義済みオブジェクトを直接使用することも、独自のオブジェクトをインスタンス化することもできます。

変数 wxConvCurrent は、ユーザー インターフェイスが Unicode ベースでない場合 (GTK+ 1.2 など) に、ユーザー インターフェイスが使用することになっている変換オブジェクトを指します。デフォルトでは、現在のプラットフォームでどちらが最適に機能するかに応じて、wxConvLibc または wxConvLocal を指します。

wxCSConv クラスは特別です。なぜなら、それがインスタンス化されるときに、どの文字セットを使用するべきかをクラスに伝えることができるからです。これにより、それらの多くのインスタンスをそれぞれ異なる文字セットで保持することが意味のあるものになります (または、wxCSConv インスタンスを飛ぶ)。

定義済みの wxCSConv インスタンスである wxConvLocal は、デフォルトのユーザー文字セットを使用するように事前設定されていますが、それを直接使用する必要はほとんどなく、wxConvCurrent を使用することをお勧めします。

于 2010-08-03T10:09:55.330 に答える