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))