直接上代码

        //通过ord()函数获取字符的ASCII码值,如果返回值大于 127则表示为中文字符的一半,再获取后一半组合成一个完整字符
        $string = "hello不要迷恋哥world";
        $string=iconv('utf-8', 'gbk', $string);////由于ord函数在gbk下单个中文长度为2,utf-8下长度为3
        $length = strlen($string);
        var_dump($string);//原始中文
        var_dump($length);//长度

        //把字符串转化为ascii码存入数组,如果是中文是由两个ASCII码组成,英文是一个
        $result = array();
        for($i=0;$i<$length;$i++){
            if(ord($string[$i])>127){
                $result[] = ord($string[$i]).' '.ord($string[++$i]);
            }else{
                $result[] = ord($string[$i]);
            }
        }
        var_dump($result);

        $str = '';
        foreach($result as $v){
            if(empty(strstr($v,' '))){
                $str .= chr($v);
            }else{
                list($a,$b) = explode(' ',$v);
                $str .= chr($a).chr($b);
            }
        }
        echo $str;

 

相关文章:

  • 2021-07-21
  • 2022-12-23
  • 2021-08-25
  • 2021-08-16
  • 2022-02-03
  • 2021-12-04
  • 2022-03-04
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-07-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案