STL での UTF8 と Wide Char 間の変換
std::string で UTF-8 文字列として表される Unicode テキストをワイド文字に変換するstd::wstring 内の文字列、またはその逆は、プラットフォームに依存しないプログラミングに不可欠です。 C 標準ライブラリを使用してこれを実現する方法は次のとおりです。
UTF-8 から UTF-16
C 11 では std::wstring_convert が導入され、narrow と の間の変換が容易になります。ワイド文字列:
std::string utf8Source; ... std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> converter; std::u16string utf16Destination = converter.from_bytes(utf8Source);
UTF-16 to UTF-8
UTF-16 から UTF-8 への変換は次のようになります。
std::u16string utf16Source; ... std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> converter; std::string utf8Destination = converter.to_bytes(utf16Source);
このアプローチでは、C 標準ライブラリの強力な std::wstring_convert 機能を利用します。マルチプラットフォームの UTF8 ワイドの文字変換のための標準化された効率的なソリューションです。
以上がC で UTF-8 文字列とワイド文字列を変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。