【问题标题】:using extended ASCII characters in printed array在打印的数组中使用扩展的 ASCII 字符
【发布时间】:2015-04-06 11:13:43
【问题描述】:

如何使用扩展的 ASCII 字符代替常规字符?

我正在制作一个乒乓球游戏,目前有| 字符组成了球拍,但是我想要 ASCII 219(一个实心矩形)来组成它。到目前为止,这是我的代码

    char right_paddle_chars[] = {   '|',
                                    '|', 
                                    '|', 
                                    '|',
                                    '|', 
                                    '|',
                                    '|',    };

    paddle_id = create_big_sprite(75, 10, 1, 7, right_paddle_chars);

【问题讨论】:

  • 您知道 DOS 的扩展 ASCII 字符只能在 DOS 下正确呈现吗?不想使用合适的图形库?
  • 试试#define SOLID_RECT (219) char right_paddle_chars[] = { SOLID_RECT, SOLID_RECT, ...

标签: c ascii dos ncurses extended-ascii


【解决方案1】:

“扩展ASCII”是一个经常使用的meaningless term。也许您指的是 IBM 代码页之一中的图形,例如 850(请参阅 MSDN,它显示“代码页 850 MS-DOS Latin 1”)。

但是,如果您使用 ncurses,您可能会在某些非 DOS 系统(例如 Unix、Linux 或 BSD)上使用它,并且最近的系统使用 UTF-8 编码。同样,Microsoft 记录了 Unicode 的等效项(请参阅MSDN)。代码页 850 的 0xdb 映射到 Unicode 0x2588

使用 ncursesw(宽字符风格),您可以拥有一个包含您选择的 Unicode 值的 wchar_t(宽字符)数组,并使用 @ 将其打印为字符串987654328@.

根据这些信息,您可以看到这里以不同的方式提出了这个问题:Output “█” with ncursesw in C

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    • 2021-07-01
    • 2011-01-09
    • 1970-01-01
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多