在 PHP 中的这两种类型之间进行转换时遇到了问题。这是我在谷歌搜索的代码
function strToHex($string){
$hex='';
for ($i=0; $i < strlen($string); $i++){
$hex .= dechex(ord($string[$i]));
}
return $hex;
}
function hexToStr($hex){
$string='';
for ($i=0; $i < strlen($hex)-1; $i+=2){
$string .= chr(hexdec($hex[$i].$hex[$i+1]));
}
return $string;
}
当我使用 XOR 加密时,我检查并发现了这一点。
我有 string "this is the test"
,在用一个键 XOR 之后,我有 string 的结果↕↑↔§P↔§P ♫§T↕§↕
。之后,我尝试通过函数 strToHex() 将其转换为十六进制,我得到了这些12181d15501d15500e15541215712
. 然后,我用函数 hexToStr() 进行了测试,我得到了↕↑↔§P↔§P♫§T↕§q
. 那么,我应该怎么做才能解决这个问题呢?为什么我转换这 2 样式值时会出错?