Perl: передача строки Unicode в chr()

Я довольно новичок в Perl, так что извините за то, что, вероятно, превратится в самый очевидный ответ.

Я пытаюсь передать Unicode-разметку chr() функция. Вот отредактированный пример моего скрипта.

#!/usr/bin/perl
$unicode = "/u0026amp;";
print chr("0x".substr($unicode, 4, 2))."\n";

Это правильно извлекает 26 из переменной $unicode. Однако проблема, которую я могу сказать, состоит в том, что chr() функция не любит строки в кавычках, но если я удаляю кавычки, x в 0x удаляется и становится недействительным 026, а не действительным 0x26.

В любом случае, это действительно сводится к. Как я могу сохранить х в

chr("0x".substr($unicode, 4, 2))

исчезнуть и отправить правильный 0x26

1 ответ

Решение

You do not use "0x" strings with chr, the way you can with ord а также hex, Итак, вы хотите:

 chr(hex($hexstring))
Другие вопросы по тегам