Отображение символов в расширенном коде ASCII (Ubuntu) - PullRequest
5 голосов
/ 25 апреля 2011

Мне нужно напечатать символы части расширенного ASCII, а именно что-то вроде:

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

Тем не менее, в оболочке он не показывает правильный символ .. что я могу сделать, чтобы увидеть прямоугольник?

Спасибо

Ответы [ 3 ]

2 голосов
/ 25 апреля 2011

Используйте 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 голос
/ 25 апреля 2011

Вам придется использовать виртуальный терминал, который поддерживает расширенный ASCII.Терминал по умолчанию в Ubuntu - это gnome-терминал.Вам придется изменить кодировку символов в gnome-терминал с UTF-8 на ISO-8859-2 или использовать другой терминал. Konsole * Например, 1004 *.

0 голосов
/ 07 июня 2013

Для меня рабочая кодовая страница - IBM850 .Используя konsole , в конфигурации профиля на вкладке «Дополнительно» вы можете выбрать кодовую страницу.Я могу отображать расширенный ASCII таким образом (полезно для доступа BIOS IPMI).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...