我需要打印ASCII扩展的字符部分,即:
char p = 219; // a rectangle
printf("%c\n", p);
然而,在shell中它没有显示正确的字符..我该怎么做才能看到矩形?
谢谢
答案 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访问很有用)。