php实现utf-8转unicode函数分享
代码很简单,功能却很实用,推荐给大家。
奉上代码先:
publicfunctionutf8_unicode($str){ $unicode=array(); $values=array(); $lookingFor=1; for($i=0;$i<strlen($str);$i++){ $thisValue=ord($str[$i]); if($thisValue<ord('A')){ //exclude0-9 if($thisValue>=ord('0')&&$thisValue<=ord('9')){ //number $unicode[]=chr($thisValue); } else{ $unicode[]='%'.dechex($thisValue); } }else{ if($thisValue<128){ $unicode[]=$str[$i]; }else{ if(count($values)==0){ $lookingFor=($thisValue<224)?2:3; } $values[]=$thisValue; if(count($values)==$lookingFor){ $number=($lookingFor==3)? (($values[0]%16)*4096)+(($values[1]%64)*64)+($values[2]%64): (($values[0]%32)*64)+($values[1]%64); $number=dechex($number); $unicode[]=(strlen($number)==3)?"\u0".$number:"\u".$number; $values=array(); $lookingFor=1; }//if }//if } }//for returnimplode("",$unicode); }