好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php中utf-8转unicode

 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的详细内容...

  阅读:49次