/**
* 將類似 \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);
}