[英]How to convert a string encoded in utf16 to a string encoded in UTF-8?
問題很明顯:當cvt.to_bytes()
期望std::u16string
(作為變量名稱建議)時,您將u16_str
定義為std::string
。
以下代碼對我有用
#include <locale>
#include <codecvt>
#include <iostream>
int main ()
{
std::u16string u16_str { u"aeiuoàèìòùAEIOU" };
std::wstring_convert<std::codecvt_utf8<char16_t>, char16_t> cvt;
std::string u8_str = cvt.to_bytes(u16_str);
std::cout << u8_str << std::endl;
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.