Как я могу отображать расширенные символы кодов ASCII в Perl?

StackOverflow https://stackoverflow.com/questions/3753055

  •  04-10-2019
  •  | 
  •  

Вопрос

alt text

Как отобразить символ символов 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 думает, что его "¿".

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top