直接上代码
//通过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;
☜☞梦想总是要有的,万一实现了呢☜☞