如何使用扩展ASCII字符代替常规字符?
我正在制作一个乒乓球比赛并且当前有|
个字符组成了桨,但是我想要ASCII 219(一个实心矩形)来弥补它。到目前为止我的代码是
char right_paddle_chars[] = { '|',
'|',
'|',
'|',
'|',
'|',
'|', };
paddle_id = create_big_sprite(75, 10, 1, 7, right_paddle_chars);
答案 0 :(得分:2)
"扩展ASCII"是经常使用的meaningless term。也许您指的是其中一个IBM代码页中的图形,例如850(参见MSDN,其中显示了" Code Page 850 MS-DOS Latin 1")。
但是,如果您使用的是ncurses,则可能在某些非DOS系统(例如Unix,Linux或BSD)上使用它,并且最近的系统使用UTF-8编码。同样,Microsoft记录了Unicode的等价物(参见MSDN)。代码页850的0xdb
映射到Unicode 0x2588
。
使用 ncursesw (宽字符风格),您可以拥有一个wchar_t
(宽字符)数组,其中包含您选择的Unicode值,并将其打印为字符串使用addwstr
。
根据这些信息,您可以看到此问题在此处以不同方式提出:Output “█” with ncursesw in C。