1

C ++を使用して、簡体字中国語GB 2312などのマルチバイトテキスト文字列間でテキストをUTF8に変換するにはどうすればよいですか?

4

2 に答える 2

3

UNIX システムでは、iconv ライブラリを使用するのが最適です。

iconv_openiconviconv_closeを参照

もちろん、文字エンコーディング(EUC-CN、HZ)を知っている必要があります。

Unix システムでない場合は、OS で何らかのサポートを検索してください。手動で文字変換を行うのは非常に困難です。

于 2008-10-21T09:46:13.070 に答える
2

WinAPI: MultiByteToWideCharとその逆、WideCharToMultiByte。後でサンプルを投稿できます。

ただし、UTF-8 は、アプリケーションで表現する、より具体的には使用するのがかなり難しいです。MultiByteToWideChar 関数は、文字列をUTF-16 (UCS2)に変換します。ソフトウェアでこの形式を内部的に使用し、プログラムでそのような出力を生成する必要がある場合にのみ、WideCharToMultiByte を使用して UTF-8 に変換することをお勧めします。これは、Windows と OS X で国際化/Unicode を行う標準的な方法です。

于 2008-10-21T09:50:14.200 に答える