/**
* 将类似 \x30\x31\x32\x33\ 这类字符转换成 10进制的字符串
* 过程: 以上为例 30,31,32,33 都是16进制
* 将他们先转为10进制然后再用ascii码来换成字符
* 再连接起来就是结果
* @param $x16
* @return null|string
*/
function ascii16toStr($x16){
if(!is_string($x16))return null;
$charlist = explode('\x',$x16);
$str = array();
foreach($charlist as $char){
if(empty($char))continue;
$str[] = chr(hexdec($char));
}
return implode($str);
}
/**
* 将str 的每个字母 转换成ascii 再转成16进制
* 只支持英文 结果类似如下
* \x30\x31\x32\x33\
*/
function strtoAscii16($str){
if(!is_string($str)) return null;
$asciis = array();
for($i = 0 ; $i < strlen($str) ; $i++){
$asciis[] = '\x'.dechex(ord($str[$i]));
}
return implode($asciis);
}