c++ utf8轉(zhuǎn)unicode如何實(shí)現(xiàn)

c++
小億
127
2024-08-17 13:07:35

在C++中,可以使用以下函數(shù)來(lái)將UTF-8編碼轉(zhuǎn)換為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;
}

在這個(gè)例子中,首先定義了一個(gè)函數(shù)utf8_to_unicode來(lái)將UTF-8編碼的字符串轉(zhuǎn)換為Unicode編碼的寬字符串。然后在main函數(shù)中調(diào)用這個(gè)函數(shù)并輸出轉(zhuǎn)換后的Unicode編碼。

0