2
我对Perl很新,所以请原谅我可能会变成最明显的答案。Perl:将Unicode字符串传递给chr()
我试图将Unicode标记传递给chr()
函数。 下面是我的脚本的编辑示例。
#!/usr/bin/perl
$unicode = "/u0026amp;";
print chr("0x".substr($unicode, 4, 2))."\n";
这正常提取从$ unicode的变量。 然而,我能说的问题是chr()
函数不喜欢带引号的字符串,但是如果我删除引号x in 0x被删除并成为无效的026而不是有效的0x26。
无论如何,这真的可以解决。我如何才能让X在
chr("0x".substr($unicode, 4, 2))
的消失,并与ord
和hex
发送适当的值为0x26
非常感谢!这是现货。我仍然不确定为什么直接使用0x26工作,但不通过传递或串联。编辑:我应该提到我的最终解决方案是:chr(十六进制(substr($ unicode,4,2))) – Aurelius 2011-04-22 17:05:10
@Aurelius:因为数字文字的规则,如0x26或046或0b100110或186_242不是用于转换的规则字符串转换为数字,这些数字只有更严格和小数。 – tchrist 2011-04-22 17:18:41
啊,谢谢你清理那个。再次感谢您的帮助。 – Aurelius 2011-04-22 17:22:31