public function utf8_unicode( $str ) { $unicode = array (); $values = array (); $lookingFor = 1 ; for ( $i = 0; $i < strlen ( $str ); $i ++ ) { $thisValue = ord ( $str [ $i ] ); if ( $thisValue < ord ('A' ) ) { // exclude 0-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 return implode ("", $unicode ); }
查看更多关于php中utf-8转unicode的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did29809