2018.10.28
c++和php在字符和数字进行异或时不同
php中字符和数字按位异或,相当于c++里,对字符进行atoi,识别数字,非数字就是0,并不是用ascii的数值去运算
php
<?php
function test($str) {
$num = 0;
for ($i = 0; $i < strlen($str); $i++) {
var_dump($str[$i] ^ $num);
}
}
test("23B3");
结果:2303
c++
std::string test = "23B3";
char *p1 = new char[1];
for (int i = 0; i < test.length(); i++) {
p1[0] = test[i];
printf("%s:%d\n", "test", atoi(p1) ^ 0);
}
delete []p1;
结果:2303
网友评论