c++

c++ utf8转unicode如何实现

小亿
258
2024-08-17 13:07:35
栏目: 编程语言

在C++中,可以使用以下函数来将UTF-8编码转换为Unicode:

#include <iostream>
#include <string>
#include <codecvt>

std::wstring utf8_to_unicode(const std::string& utf8_str) {
    std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
    return converter.from_bytes(utf8_str);
}

int main() {
    std::string utf8_str = u8"你好";
    std::wstring unicode_str = utf8_to_unicode(utf8_str);

    for (auto c : unicode_str) {
        std::wcout << std::hex << static_cast<int>(c) << std::endl;
    }

    return 0;
}

在这个例子中,首先定义了一个函数utf8_to_unicode来将UTF-8编码的字符串转换为Unicode编码的宽字符串。然后在main函数中调用这个函数并输出转换后的Unicode编码。

0
看了该问题的人还看了