汉字中文英文数字混合转ascii码

<?PHP
//中文字符转ascii,首先要判断是gbk/gb2312编码还是utf-8编码
//中文gbk/gb2312 每个中文由两个英文字符组成,也就有两个ascii码
//中文utf-8 每个中文由三个英文字符组成,也就有三个ascii码
//下面以GBK编码为例:
$char = 'gbk';
$str = 'abc中文g256bk';//中英文数字混排
$c = mb_strlen($str,$char);
for($i =0;$i<$c;$i++){
  $arr[]=mb_substr($str,$i,1,$char);
}
foreach($arr as $i=>$v){
  if(preg_match('//w/i',$v,$match)){
    echo $v ."的ascii码:".ord($v)."<br />/n";
    $out[] = ord($v);
  }else{
    echo $v ."的ascii码由两个组成:".ord($v{0})." ".ord($v{1})."<br />/n" ;
    $out[] = ord($v{0});
    $out[] = ord($v{1});
  }
}
echo $str."的ascii码是:".implode($out);
?>

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值