Perl: передача строки Unicode в chr () - PullRequest
2 голосов
/ 22 апреля 2011

Я довольно новичок в 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 Ответ

3 голосов
/ 22 апреля 2011

Вы не используете строки "0x" с chr, как вы можете с ord и hex.Итак, вы хотите:

 chr(hex($hexstring))
...