как печатать не-ASCII-символы в C

Я пытаюсь вывести список символов с помощью C: http://www.alt-codes.net/

for (i=0; i<len; i++){ printf("%d\t: %c", i, i); } 

Проблема в том, что для всех символов, отличных от ASCII? работая над Ubuntu.

Как я могу выводить их в хорошем виде.

    Форматирование будет неудовлетворительным, но кроме того, код, который вы опубликовали, работает.

    Символы ASCII 0-31 представляют собой различные символы пробела, и нет стандартизованного способа их печати. Ссылка, которую вы опубликовали, является обычной, но нестандартной «расширенной таблицей ASCII». Нет гарантии, что эти точные символы будут напечатаны на вашей конкретной платформе.

    Они отлично работают для меня в Windows 7, протестированы с GCC и Embarcadero C ++, оба печатают эти символы. Но на другой ОС и / или компиляторе могут быть напечатаны разные символы или вообще ничего.

    Гарантируется, что только символы ASCII 32 – 126 могут быть распечатаны и одинаковы для всех систем.

    Различные символы ASCII, например, многие из них ниже 32, не подлежат печати. Перед печатью необходимо перевести непечатные в нечто другое (например, пробел).

    Обратите внимание, что ALT-коды, с которыми вы связаны, не являются кодами ASCII.

    Ваша кодировка не может содержать символы, такие как . То, что вы смотрите, – это список символов кодов символов alt, а не ASCII.

    В зависимости от ваших потребностей вы можете использовать подход шестнадцатеричного редактора и печатать только те символы, которые имеют графическое представление, с этой целью вы можете использовать isprint() или isgraph() (последнее по сути такое же, как isprint() но не печатайте пробел), определенную в ctype.h, например:

     for (i = 0; i < len; i++) { printf("%d\t: %c", i, isprint(i) ? i : '.'); }