【问题标题】:Displaying the ≥ and ≤ ASCII characters in a C Application在 C 应用程序中显示 ≥ 和 ≤ ASCII 字符
【发布时间】:2009-11-01 02:28:55
【问题描述】:

我目前正在编写一个 C 应用程序,我需要在终端中显示以下符号:

它们的 ASCII 字符代码是 242243,但我无法让它们显示在 DOS 终端中。

关于如何做到这一点的任何想法?

【问题讨论】:

  • 您的终端使用的字体可能与 ASCII 不完全对应,并且可能没有标准的方法来实现。准备好使用 Boost 中的某些内容或特定于平台的代码。
  • 迂腐点:ASCII 最多只能编码 127 (0x7F) 的字符。除此之外,代码点处的字符是特定于实现的。您说的是代码页 437(在点 242 和 243 处确实有 ≥ 和 ≤)。
  • 如果您使用的是现代系统,请使用 Unicode 字符串和 wprintf(和变体)。 msdn.microsoft.com/en-us/library/wc7014hz%28VS.80%29.aspx

标签: c character-encoding ascii extended-ascii


【解决方案1】:

例如,这些既不是 ASCII 也不是 LATIN1。

【讨论】:

  • 它们甚至不在 CP1252、正常的 Windows 代码页、AFAICS 中。它们看起来像 Unicode 中的 U+2264 和 U+2265。
【解决方案2】:
printf("\xf2\n");

如果这不起作用,那是因为 DOS 和代码页。尝试使用CHCP 命令。您正在进入区域设置/特定于平台/立即放弃的领域。

【讨论】:

【解决方案3】:

什么DOS终端?如果您在 Windows 下编译为 32 位(或 64 位)二进制文件,我敢肯定,那么它只是一个控制台窗口。

我相信this 是设置控制台窗口代码页的最简单方法。使用代码页 437 还是 unicode 代码页(例如 UTF-8,即 65001)取决于您,但我建议您使用 Unicode,因为如果您以后需要它,它会给您更大的灵活性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 2015-04-26
    相关资源
    最近更新 更多