C ++を使用して、簡体字中国語GB 2312などのマルチバイトテキスト文字列間でテキストをUTF8に変換するにはどうすればよいですか?
2896 次
2 に答える
3
UNIX システムでは、iconv ライブラリを使用するのが最適です。
iconv_open、iconv、iconv_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 に答える