首页 > 语言 > PHP > 正文

php实现utf-8转unicode函数分享

2024-09-04 11:42:53
字体:
来源:转载
供稿:网友

这篇文章主要介绍了php实现utf-8转unicode函数分享,需要的朋友可以参考下

代码很简单,功能却很实用,推荐给大家。

奉上代码先:

  1. public function utf8_unicode($str) { 
  2.     $unicode = array(); 
  3.     $values = array(); 
  4.     $lookingFor = 1; 
  5.     for ($i = 0; $i < strlen$str ); $i++ ) { 
  6.         $thisValue = ord( $str$i ] ); 
  7.         if ( $thisValue < ord('A') ) { 
  8.             // exclude 0-9 
  9.             if ($thisValue >= ord('0') && $thisValue <= ord('9')) { 
  10.                  // number 
  11.                  $unicode[] = chr($thisValue); 
  12.             } 
  13.             else { 
  14.                  $unicode[] = '%'.dechex($thisValue); 
  15.             } 
  16.         } else { 
  17.             if ( $thisValue < 128) { 
  18.                 $unicode[] = $str$i ]; 
  19.             } else { 
  20.                 if ( count$values ) == 0 ) { 
  21.                     $lookingFor = ( $thisValue < 224 ) ? 2 : 3; 
  22.                 } 
  23.                 $values[] = $thisValue
  24.                 if ( count$values ) == $lookingFor ) { 
  25.                     $number = ( $lookingFor == 3 ) ? 
  26.                         ( ( $values[0] % 16 ) * 4096 ) + ( ( $values[1] % 64 ) * 64 ) + ( $values[2] % 64 ): 
  27.                         ( ( $values[0] % 32 ) * 64 ) + ( $values[1] % 64 ); 
  28.                     $number = dechex($number); 
  29.                     $unicode[] = (strlen($number)==3)?"/u0".$number:"/u".$number
  30.                     $values = array(); 
  31.                     $lookingFor = 1; 
  32.                 } // if 
  33.             } // if 
  34.         } 
  35.     } // for 
  36.     return implode("",$unicode); 
  37. }

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表