【问题标题】:How to correctly display playing card unicode characters in terminal?如何在终端中正确显示扑克牌 unicode 字符?
【发布时间】:2019-09-21 15:09:44
【问题描述】:

我需要将 52 张扑克牌的 Unicode 字符打印到终端。但是当我运行代码时,我得到了一个带有奇怪口音的“A”,然后是卡号。根据我自己的阅读,我认为限制是终端使用的字体。但我不确定如何解决这个问题。 终端显示西装本身没有问题。 例如,程序对这些没有问题:♥♠♦♣ 但是无法正确显示这些:????,????,????等等

这是打印出来的:

这是在 Cent OS 7 虚拟机上。

【问题讨论】:

标签: c++ unicode terminal centos


【解决方案1】:
#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

【讨论】:

  • 您的示例中的两种方法都将字形正确输出到终端,谢谢。
猜你喜欢
  • 2021-12-06
  • 1970-01-01
  • 2021-11-16
  • 1970-01-01
  • 2015-08-30
  • 1970-01-01
  • 2010-12-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多