-3

我正在解析一个 html 文档,并且有一个变量var key = 0xa9,例如,我确实使用了我的正则表达式和所有变量,但是0xa9我得到的内容作为字符串存储在一个变量中,是否有任何转换函数或任何将其转换为数字的东西?

编辑

我确定我没有很好地解释自己,这就是我一直在尝试做的事情:

$t = $t . chr ( ord(substr($e, $i, 1)) ^ $var);但是$var = "0xa9"或其他什么,问题是它是一个字符串,所以在前面的操作中我确实得到了一个错误Argument "0xc2" isn't numeric in bitwise xor (^) at,这就是为什么我想要完全相同的值而不是字符串,为了工作,$var 需要像$var = 0xa9for例子。

4

3 回答 3

4

尝试

print hex '0xAf'; # prints '175'

来自perldoc

hex
Interprets EXPR as a hex string and returns the corresponding value. 
(To convert strings that might start with either 0 , 0x , or 0b, see oct.) 
If EXPR is omitted, uses $_ .
于 2013-10-01T10:45:14.720 回答
2

请试试这个:

print hex $string

于 2013-10-01T10:46:09.400 回答
1

尝试添加0x0$var. 它应该将 XOR 运算中的第二个操作数转换为数值。

$t = $t . chr ( ord(substr($e, $i, 1)) ^ ($var + 0x0));
于 2013-10-01T19:10:43.227 回答