控制台中的Unicode表示问题

时间:2019-06-14 08:31:03

标签: c++ windows visual-c++

我编写了以下代码,但是当我在Windows的控制台中编译并运行该程序时,它无法正确显示字符。有什么问题吗?

#include <iostream>

auto main(int argc, char* argv[]) -> decltype(0) {

    char const u8[]{ u8"Hello, ☃!" };
    std::cout << "UTF 8: " << u8 << std::endl;

    char16_t const u16[]{ u"Hello, ☃!" };
    std::cout << "UTF 16: " << u16 << std::endl;

    char32_t const u32[]{ U"Hello, ☃!" };
    std::cout << "UTF 32: " << u32 << std::endl;

    return 0;
}

程序输出:

UTF 8: Hello, Γÿâ!
UTF 16: 0053F790
UTF 32: 0053F750

0 个答案:

没有答案