如何在 C 中使用扩展 ASCII 表的符号?
Posted
技术标签:
【中文标题】如何在 C 中使用扩展 ASCII 表的符号?【英文标题】:How to use symbols of extended ASCII table in C? 【发布时间】:2013-06-26 02:20:04 【问题描述】:我已尝试打印 扩展 ASCII 字符:
http://www.theasciicode.com.ar/
但所有这些符号都以问题字符形式打印在白色背景上?
。
我使用以下循环来打印该符号:
for (i = 0; i <= 30; i++)
printf("%c", 201);
问题:有没有办法打印那些扩展ASCII字符?或者也许有这些字符的特殊库?
操作系统 Linux Ubuntu 13.04,代码::Blocks 12.11 IDE。
【问题讨论】:
对 ASCII 的扩展是非标准的,最好避免。 你想说我必须避开它们吗? 希望配置良好的终端和 ncurses 会有所帮助。发射输出取决于终端。你在用什么?电脑?一个带有 xterm 的 linux 盒子? 你没有有来避免扩展 ASCII,但如果你不这样做,那么你可能会遇到很多可移植性等问题。 @JulianKhlevnoy 如果您使用的是 unix/linux,它还取决于您使用的终端(Xterm 或 RXVT 或 VT100)。如果您在 DOS IIRC 上,则有一个设备驱动程序可以管理此类 ascii 异常。在 Win32 上老实说我不知道 【参考方案1】:使用 unicode 比使用非标准的扩展 ASCII 更好。关于在 C 中打印 unicode 字符的线程: printing-utf-8-strings-with-printf-wide-vs-multibyte-string-literals
但确实你需要复制粘贴 unicode 字符..
更好的开始方式:
#include <stdio.h>
int main()
printf("\u2500\u2501\n");
请参阅https://en.wikipedia.org/wiki/Box-drawing_character#Unicode 了解此扩展 ASCII 样式框艺术的 unicode 字符。
【讨论】:
以上是关于如何在 C 中使用扩展 ASCII 表的符号?的主要内容,如果未能解决你的问题,请参考以下文章