Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 该程序是否显示所有标准ish系统上的四种卡片套装(♠;♣;♥;♦;)?_C++_C_Character Encoding - Fatal编程技术网

C++ 该程序是否显示所有标准ish系统上的四种卡片套装(♠;♣;♥;♦;)?

C++ 该程序是否显示所有标准ish系统上的四种卡片套装(♠;♣;♥;♦;)?,c++,c,character-encoding,C++,C,Character Encoding,以下显示♠♣♥♦ 在windows xp上,它是否适用于所有系统 #include <stdio.h> int main(int argc, char *argv[]) { for (int i = 3; i <= 6; ++i) printf("%c", (char)i); getchar(); return 0; } #包括 int main(int argc,char*argv[]) { 对于(inti=3;iNope),根据我

以下显示♠♣♥♦ 在windows xp上,它是否适用于所有系统

#include <stdio.h>
int main(int argc, char *argv[])
{
    for (int i = 3; i <= 6; ++i)
        printf("%c", (char)i);

    getchar();
    return 0;
}
#包括
int main(int argc,char*argv[])
{

对于(inti=3;iNope),根据我的经验,字符编码非常依赖于平台


考虑一下,在ASCII中,这些字符。我不知道它们在Unicode中的位置。无论它们在哪里,您都将取决于平台输出Unicode的方式。

打印出不常用的控制字符(低值就是这样的)(如“\n”)将在不同的平台上产生不同的结果

实现跨平台的一种方法是Unicode(套装在上,尽管通常不支持字体中的此类字符。

不,这些是ASCII。打印它们的终端使用的是原始IBM PC的字符集。它对ASCII中的字符使用相同的编号,但扩展ASCII带有重音字母、希腊字母、方框图c字符和一些丁巴特。不用说,它是完全不可移植的;您的程序只能在Windows命令终端上工作,不能在任何其他系统上工作;这些字符甚至不能在更常见的Windows编码中正常工作

如果您想以便携方式打印出特殊字符,则应使用通用字符集,卡套件位于其中。有关Unicode的高级概述,请参阅


请注意,使应用程序使用Unicode的方式在和之间有所不同,并且仍然需要像Unicode那样在不同的编码之间进行转换(包括部分编码,例如遗留字符集),但至少您可以使用相同的通用字符集,而不管您使用的是什么平台或编码。

Unicode和UTF-8:

  • ♠ = 0x2660=0xE2 0x99 0xA0
  • ♥ = 0x2665=0xE2 0x99 0xA5
  • ♦ = 0x2666=0xE2 0x99 0xA6
  • ♣ = 0x2663=0xE2 0x99 0xA3
  • ♤ = 0x2664=0xE2 0x99 0xA4
  • ♡ = 0x2661=0xE2 0x99 0xA1
  • ♢ = 0x2662=0xE2 0x99 0xA2
  • ♧ = 0x2667=0xE2 0x99 0xA7
Mac OS X字符搜索调色板FTW

从代码角度看,它可能会混淆,但有一个方法。0x2660..0x2663是标准的四个,用白色代替红色(♠♡♢♣), 和0x2660..0x2663是相同的颜色反转集(♤♥♦♧).


顺便说一句,我不想破坏双关语的乐趣,但我想有人会想要一个答案:“嗯,标准的方式应该是什么?”

是的-这很适合这个问题。停止双关语,否则我会用棍子打死你!这些评论就像纸牌屋一样倒塌了。西装的Unicode代码点是0x2660到0x2667。四个是纯黑色,四个是带黑色轮廓的白色。@Brian:关于决定谁是双关语之王或皇后,以及谁知道杰克。可能不是,但2♠, 2.♣, 2.♥, 2.♦ 在大多数游戏网站和扑克符号中通常表示为2S、2C、2H、2D。