您的位置:首页 > 帝国cms教程

帝国CMS PHP汉字UTF-8转unicode码的方法!

2023-12-28 13:22:34 帝国cms教程 135

php将汉字转unicode码就成了迫切需求。用搜索找到好多个函数,可惜在试用后都放弃了,这些函数只支持普通汉字的转码,对于生僻字不支持。只好自己写一个,测试成功了。这个函数是根据unicode的二进制规则来写的。

function dp_HzToUnicode($hz){
    $r=array();
    $hex=str_replace("%","",urlencode($hz));
    $r['hex']=$hex;
    $bin2=base_convert($hex,16,2);
    $dec=base_convert($hex,16,10);
    if($dec<127){
        $r['dec']=$dec;
        $r['unidoce']=$r['dec'];
        $r['bin2']=$bin2;
        return $r;
    }
    $bit=strlen($bin2)/8;
    $br=str_split($bin2,8);
    $true_bin2='';
    for($i=0;$i<$bit;$i++){
        if($i==0){
            $true_bin2.=substr($br[$i],$bit+1);
        }else{
            $true_bin2.=substr($br[$i],2);
        }
    }
    $r['bin2']=$true_bin2;
    $unidoce=base_convert($true_bin2,2,16);
    $r['unidoce']=$unidoce;
    $html=base_convert($true_bin2,2,10);
    $r['dec']=$html;
    return $r;
}

相关推荐