將utf-8格式的漢字轉換成16進位制
阿新 • • 發佈:2019-02-15
//字串轉換成16進位制 function str2hex($str){ $hex = ''; for($i=0,$length=mb_strlen($str); $i<$length; $i++){ $hex .= dechex(ord($str{$i})); } return $hex; } //16進位制轉換成字串 function hex2str($hex){ $str = ''; $arr = str_split($hex, 2); foreach($arr as $bit){ $str .= chr(hexdec($bit)); } return $str; } function test(){ //utf8字元測試 $str = '中文'; echo mb_strlen($str); echo ''; $hex = str2hex($str); echo $hex; echo ''; $dec = hex2str($hex); echo $dec; echo ""; echo "<hr>"; //gbk測試 $gbkstr = mb_convert_encoding($str,'GBK','UTF-8'); echo mb_strlen($gbkstr); echo ''; $hex = str2hex($gbkstr); echo $hex; echo ''; $dec = mb_convert_encoding(hex2str($hex), 'UTF-8', 'GBK'); echo $dec; echo ""; }