在c++ /WinRT中转换UTF-8字符串和UTF-16字符串

原文:Converting between UTF-8 strings and UTF-16 strings in C++/WinRT – The Old New Thing (microsoft.com)September 22nd, 2021

c++ /WinRT提供了一组函数,用于在UTF-8字符串(底层代码使用char表达)和UTF-16字符串(底层代码使用wchar_t)之间进行转换。

to_string函数接受UTF-16编码的std::wstring_view,并将它们转换为UTF-8字符串,表示为std::string。

相反,to_hstring函数接受UTF-8编码的std::string_view,并将它们转换为UTF-16字符串,表示为winrt::hstring。

to_string和to_hstring的参数可以是任何可转换为相应的字符串视图类型的参数。属于这个类别的类型包括:

TypeConverts to
std::stringstd::string_view
std::wstringstd::wstring_view
winrt::hstringstd::wstring_view

以后,我们可以好好利用这些转换~