以扩展ASCII码显示字符(Ubuntu)

时间:2011-04-25 18:04:37

标签: c ubuntu ascii

我需要打印ASCII扩展的字符部分,即:

char p = 219; // a rectangle   
printf("%c\n", p);

然而,在shell中它没有显示正确的字符..我该怎么做才能看到矩形?

谢谢

3 个答案:

答案 0 :(得分:2)

使用libiconv将CP-1252或ISO-8859-1或您要转换的任何8位字符集转换为UTF-8;像这样的东西:

#include <iconv.h>
iconv_t cd = iconv_open("utf-8", "cp-1252");
iconv(cd, &inbuf, sizeof(inbuf), &outbuf, sizeof(outbuf)); // <- psuedocode, change to meet your needs

答案 1 :(得分:1)

您必须使用支持扩展ASCII的虚拟终端。 Ubuntu中的默认终端是gnome-terminal。您必须在gnome-terminal中change the character encoding从UTF-8到ISO-8859-2或使用其他终端。例如Konsole

答案 2 :(得分:0)

对我来说,工作代码页是 IBM850 。 使用 konsole ,在配置文件配置,高级选项卡中,您可以选择代码页。 我能够以这种方式显示扩展的ascii(对于IPMI bios访问很有用)。