ホームページ > バックエンド開発 > C++ > C で UTF-8 文字列とワイド文字列を変換するにはどうすればよいですか?

C で UTF-8 文字列とワイド文字列を変換するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-30 09:18:17
オリジナル
616 人が閲覧しました

How to Convert Between UTF-8 and Wide Character Strings in C  ?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート