none
Windows ce に於ける utf-8 の使用

    質問

  • Windows embedded compact 7とvc++ 2008の環境に於いて、Windows APIのWideCharToMultiByte()やMultiByteToWideChar()ではutf-8エンコードが扱えないようです。
    例えば、utf-8で書かれたファイルを読み込んで画面に表示するなどの処理を行いたいのですが、方法はないのでしょうか?
    2018年7月9日 23:19

回答

  • サードパーティ製のライブラリですが、UTF8-CPP (ライセンスは MIT のようです)は使えますでしょうか?

    UTF-8 から UTF-16 への変換もできるようです。私の環境(Visual C++ 2008)で簡単なサンプルはコンパイルできました。

    2018年7月10日 1:28

すべての返信

  • サードパーティ製のライブラリですが、UTF8-CPP (ライセンスは MIT のようです)は使えますでしょうか?

    UTF-8 から UTF-16 への変換もできるようです。私の環境(Visual C++ 2008)で簡単なサンプルはコンパイルできました。

    2018年7月10日 1:28
  • ご連絡いただき有難うございます。

    ご指摘のプログラムを試した後にご連絡致します。

    2018年7月10日 1:53
  • ご紹介いただいたライブラリによりWindows10(VS2017)、及びWindows embedded compact 7(VS2008)にて、正常にエンコードできることを確認できました。

    大変助かりました。ありがとうございました。

    2018年7月24日 5:59
  • Windows CE (Visual C++ 2008)環境では使えませんが、Visual C++ 2017も使われているとのことですので紹介だけ。

    Visual C++ 2010以降にはC++言語標準の<codecvt>にstd::codecvt_utf8クラスが用意されています。こちらを使うとwchar_tとUTF-8とを相互変換できます。C++言語標準ですので、Visual C++に限らず他のコンパイラーでも利用可能です。
    # ただし、現在非推奨に指定されてしまったため、使えない場合もあります…。

    2018年7月24日 7:05