Windowsの "ANSI"関数名(例:CreateFileA
)を模倣するラッパーライブラリはありますか?入力がUTF-8であると仮定し、それらをUTF-16に変換し、関数のUTF-16バージョンを呼び出します。 CreateFileW
)、プログラムの出力をUTF-8に変換し直しますか?Windows用のUTF-8からUTF-16 APIラッパーライブラリ?
これは、ASCIIプログラムがほとんどシームレスにUTF-8を使用できるようにします。
Windowsの "ANSI"関数名(例:CreateFileA
)を模倣するラッパーライブラリはありますか?入力がUTF-8であると仮定し、それらをUTF-16に変換し、関数のUTF-16バージョンを呼び出します。 CreateFileW
)、プログラムの出力をUTF-8に変換し直しますか?Windows用のUTF-8からUTF-16 APIラッパーライブラリ?
これは、ASCIIプログラムがほとんどシームレスにUTF-8を使用できるようにします。
API関数をラップするのではなく、文字列を変換関数でラップする方が簡単です。 Windowsの次のバージョンでより多くのAPI機能が追加されると、将来的な見通しになるでしょう。
他にも述べたように、このようなライブラリを実現するにはあまりにも多くのWinAPI関数があります。しかし、ツールチェインレベルで、またはhttp://research.microsoft.com/en-us/projects/detours/のようなものを使ってハックすることができます。
AFAIK - いいえ、あまりにも多くのWindows API関数があります。 – valdo
* ASCII文字列をUTF-16に変換することができます。 – JeremyP
おそらく最も簡単なことですが、UTF-16バージョンのWindows API関数をどこでも使用できます。文字列がUTF-8ソースから来た場合は、おそらくそれらをラップする方が簡単でしょう。 – jamesdlin