如何使用扩展 ASCII 字符代替常规字符?
我正在制作一个乒乓球游戏,目前有 |
字符组成 Racket ,但我想要 ASCII 219(一个实心矩形)来组成它。这是我到目前为止的代码
char right_paddle_chars[] = { '|',
'|',
'|',
'|',
'|',
'|',
'|', };
paddle_id = create_big_sprite(75, 10, 1, 7, right_paddle_chars);
最佳答案
“扩展 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
(宽字符)数组,并打印该值使用 addwstr
作为字符串。
鉴于该信息,您可以看到这里以不同的方式提出了这个问题:Output “█” with ncursesw in C .
关于c - 在打印数组中使用扩展 ASCII 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29470149/