【发布时间】:2013-06-07 17:55:38
【问题描述】:
我需要打印扩展的 ASCII 字符部分,即:
char p = 219; // a rectangle
printf("%c\n", p);
但是,在 shell 中它没有显示正确的字符.. 我可以做些什么来查看矩形?
谢谢
【问题讨论】:
我需要打印扩展的 ASCII 字符部分,即:
char p = 219; // a rectangle
printf("%c\n", p);
但是,在 shell 中它没有显示正确的字符.. 我可以做些什么来查看矩形?
谢谢
【问题讨论】:
使用 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
【讨论】:
iconv是没有意义的。只需查找 unicode 代码点编号或 UTF-8 并进行硬编码。
您必须使用支持扩展 ASCII 的虚拟终端。 Ubuntu 中的默认终端是 gnome-terminal。您必须在 gnome-terminal 中从 UTF-8 到 ISO-8859-2 change the character encoding 或使用其他终端。例如Konsole。
【讨论】:
对我来说,工作代码页是 IBM850。 使用 konsole,在配置文件配置的高级选项卡中,您可以选择代码页。 我能够以这种方式显示扩展的 ascii(对于 IPMI bios 访问很有用)。
【讨论】: