Как я могу отображать расширенные символы кодов ASCII в Perl?
-
04-10-2019 - |
Вопрос
Как отобразить символ символов 192 ( └ ) в Перл?
Решение
То, что вы хотите, чтобы иметь возможность печатать Unicode, и ответ в perldoc perluniintro
.
Вы можете использовать \x{nnnn}
где n - идентификатор шестигранства, или вы можете сделать \N{...}
с именем:
perl -E 'say "\x{2514}"; use charnames; say "\N{BOX DRAWINGS LIGHT UP AND RIGHT}"'
Другие советы
Чтобы использовать именно эти коды, ваш терминал должен поддерживать Код Page 437., который содержит рамы. В качестве альтернативы вы можете использовать производные CP850. с меньшими боксом персонажей. Такие персонажи бокса также существуют как Элементы блока Unicode. Отказ Чар, который вы хотите в Perl, отмечается как \N{U+2514}
. Отказ Подробнее Перлуникод
Это похоже на кодировку кодирования. Perl, вероятно, просто выводит байты, которые вы его даете. И ваш терминал, вероятно, ожидает, что UTF8.
Таким образом, вам нужно декодировать его в Unicode, затем перенесите его в UTF-8.
Редактировать: исправить кодировку.
Как обычно, Jon Skeet Nails это: 192
код в "Расширенный ASCII«Диапазон. Я предлагаю вам следовать @Douglas leader совет, но я не уверен, что кодирует www.lookbuptables.com, дает вам; ISO-8859-1
думает, что 192 карты на «а» и Mac OS Roman
думает, что его "¿".