如何在终端中正确显示纸牌unicode字符?

时间:2019-05-03 05:02:06

标签: c++ unicode terminal centos

我需要将52张扑克牌的Unicode字符打印到终端上。但是,当我运行代码时,我得到的是西服重音符号“ A”,然后是卡号。根据我自己的阅读,我认为限制是终端使用的字体。但是我不确定该如何解决。 航站楼展示西装本身没有问题。 例如,程序没有以下问题:♥♠♦♣ 但无法正确显示以下内容:,等等

这是打印出来的内容:

image

这是在Cent OS 7 VM上。

2 个答案:

答案 0 :(得分:0)

#include <iostream>
int main() {
    std::cout << "\n";                    // string literal
    std::cout << "\xF0\x9F\x82\xA1\n";      // UTF-8 encoded octets
}

如果字符串中包含字符,则需要自己对其进行编码,请参见https://stackoverflow.com/questions/tagged/c%2b%2b%20utf-8

答案 1 :(得分:-1)

不知道您在哪里获得代码1F0。我的作品:

int main() {
    std::cout << "Hello World!\n";
    std::cout << "\u2660\u2661\u2662\u2663\u2664\u2665\u2666\u2667\n";
}

在线运行! https://repl.it/repls/AltruisticMixedTask

我在这里查询了代码:https://unicodelookup.com/#suit/1