PHP将中文字符串转换为数字
简介:
PHP将中文字符串转换为数字
$str = “京ICP备安112123122123号-21212A”;
$code_str = str_to_charCodeAt($str);
var_dump($code_str);
var_dump(charCodeAt_to_str($code_str));
exit;
function str_to_charCodeAt($str,$from_encoding='utf-8',$exp='n')//等同于js的charCodeAt()
{
$l=mb_strlen($str,$from_encoding);
for($i = 0;$i<$l;++$i) $result[] = uniord(mb_substr($str,$i,1,'utf-8'));
foreach($result as $v){
$v = dechex($v);
$s.=$exp.$v;
}
return $s;
}
function uniord($str,$from_encoding = false)
{
$from_encoding = $from_encoding ? $from_encoding : 'UTF-8';
if (strlen($str) == 1) return ord($str);
$str = mb_convert_encoding($str,'UCS-4BE',$from_encoding);
$tmp = unpack('N', $str);
return $tmp[1];
}
$str = "京ICP备安112123122123号-21212A";
$len = strlen($str);
for ($i=0;$i<=$len;$i++){
if(ord($str[$i]) > 127){
// $res[] = $str[$i]."".$str[++$i]."".$str[++$i];
$res[] = ord($str[$i]).",".ord($str[++$i]).",".ord($str[++$i]);
}
}
foreach ($res as $k=>$v){
$desc = explode(",",$v);
echo chr($desc[0]).chr($desc[1]).chr($desc[2]).PHP_EOL;
}
上一篇: laravel 项目从github仓库拉取加载类库
下一篇: php函数闭包