【问题标题】:ASCII character problem on mac. Can't print the black square(which is char(219))mac上的ASCII字符问题。无法打印黑色方块(即 char(219))
【发布时间】:2011-03-10 03:26:54
【问题描述】:

当我尝试用 C++ 编写这段代码时

cout << char(219);

我的 Mac 上的输出是问号? 但是,在 PC 上,它给了我一个黑色方块。 有谁知道为什么在mac上只有128个字符,什么时候应该是256? 感谢您的帮助。

【问题讨论】:

  • 您的帖子出现问题,可能是由于您的代码中的特殊字符。要发布一段代码,请将其缩进四个空格。要在普通文本中间发布代码,请在开头和结尾添加反引号 (`)。

标签: c++ macos char ascii


【解决方案1】:

没有 ASCII 字符 219 这样的东西。ASCII 最多只能达到 127。字符 128-255 以不同的方式在不同的字符编码中以不同的方式定义,用于不同的语言和不同的操作系统。

【讨论】:

  • 您的std::locale 将决定其中哪些适用。您也许可以切换语言环境,但替代语言环境的列表取决于平台。
【解决方案2】:

ASCII 实际上是一种 7 位编码。如果您正在打印使用其他编码的 char(219):在 Windows 上很可能是 CP 1252。在 Mac 上,我不知道...

【讨论】:

    【解决方案3】:

    当编码集中缺少字符时,它会在 Windows 上显示一个框(不是字符 219,它不存在)Mac 会在菱形符号中显示问号,因为设计师想要这样。但它们的含义相同,缺少/无效字符。

    【讨论】:

    • 你错了。尝试编译这个程序,你会看到所有不同的字符: 'for(int i = 0; i
    • 那么在 OS X 中显示的问号是一个带有问号的菱形,而不仅仅是一个问号,对吧?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-19
    • 2016-12-25
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多