国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

漢字轉換成Unicode編碼PHP程序

2024-05-04 21:58:14
字體:
來源:轉載
供稿:網友

下面來總結一些常用的漢字轉換成Unicode編碼PHP程序實現代碼,我們只要了解到Unicode編碼與gbk編碼之間的內置轉換原理即可了.

漢字轉換成unicode方法,代碼如下:

  1. <?php 
  2. //將utf8編碼的漢字轉換為unicode 
  3. function htou($c){ 
  4.  $n = (ord($c[0]) & 0x1f) << 12; 
  5.  $n = (ord($c[1]) & 0x3f) << 6; 
  6.  $n = ord($c[2]) & 0x3f; 
  7.  return $n
  8.  
  9. //在代碼中隱藏utf8格式的字符串 
  10. function my_utf8_unicode($str) { 
  11.  $encode=''
  12.  for($i=0;$i<strlen($str);$i ){ 
  13.   if(ord(substr($str,$i,1))> 0xa0){ 
  14.    $encode.='&#'.htou(substr($str,$i,3)).';'
  15.    $i =2; 
  16.   }else
  17.    $encode.='&#'.ord($str[$i]).';'
  18.   } 
  19.  } 
  20.  return $encode
  21.  
  22. echo my_utf8_unicode("哈哈ABC"); 
  23. ?> 

漢字轉換成unicode方法二,代碼如下:

  1. function getUnicode($word)  
  2.  // 轉UTF8 
  3.  $word0 = iconv('gbk''utf-8'$word); 
  4.  $word1 = iconv('utf-8''gbk'$word0); 
  5.  $word =  ($word1 == $word) ? $word0 : $word
  6.  // 拆分漢字 
  7.  preg_match_all('#(?:[x00-x7F]|[xC0-xFF][x80-xBF]+)#s'$word$array, PREG_PATTERN_ORDER); 
  8.  $return  = array(); 
  9.  // 轉換 
  10.  foreach ($array[0] as $cc
  11.  { 
  12.   $arr = str_split($cc);  
  13.   $bin_str = ''
  14.   foreach ($arr as $value
  15.   { 
  16.    $bin_str .= decbin(ord($value)); 
  17.   } 
  18.   $bin_str = preg_replace('/^.{4}(.{4}).{2}(.{6}).{2}(.{6})$/','$1$2$3'$bin_str); 
  19.   $return[] = '&#' . bindec($bin_str) . ';'
  20.  } 
  21.  
  22.  return implode(''$return); 

函數用法,代碼如下:

  1. $word = '一個漢字轉換成Unicode四字節編碼的PHP函數。'
  2. echo getUnicode($word); 
  3. /* 
  4. 上述將輸出如下結果: 
  5. &#19968&#20010&#27721&#23383&#36716&#25442&#25104&#65333&#65358  
  6. &#65353&#65347&#65359&#65348&#65349&#22235&#23383&#33410&#32534  
  7. &#30721&#30340&#80&#72&#80&#20989&#25968&#12290 
  8. */ 

這一組函數可以將漢字轉成unicode編碼,也可以將unicode解碼成漢字. 

將漢字轉成Unicode的函數,代碼如下:

  1. function uni_encode ($word
  2.  $word0 = iconv('gbk''utf-8'$word); 
  3.  $word1 = iconv('utf-8''gbk'$word0); 
  4.  $word =  ($word1 == $word) ? $word0 : $word
  5.     $word = json_encode($word); 
  6.     $word = preg_replace_callback('///u(w{4})/', create_function('$hex''return '&#'.hexdec($hex[1]).';';'), substr($word, 1, strlen($word)-2)); 
  7.     return $word

對Unicode編碼進行解碼的函數,代碼如下:

  1. function uni_decode ($uncode
  2.     $word = json_decode(preg_replace_callback('/&#(d{5});/', create_function('$dec''return '/u'.dechex($dec[1]);'), '"'.$uncode.'"')); 
  3.     return $word

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 尉犁县| 德庆县| 化隆| 新民市| 宁陵县| 桃园县| 霍邱县| 巴马| 西城区| 湖南省| 黄龙县| 阿克苏市| 繁昌县| 资兴市| 镇康县| 东明县| 莱芜市| 尚义县| 定兴县| 昌乐县| 沽源县| 辽阳县| 稻城县| 新乐市| 开原市| 深水埗区| 封丘县| 木兰县| 平阳县| 南昌县| 苏尼特左旗| 汝南县| 永城市| 昌江| 扬中市| 凤山市| 建宁县| 阳春市| 聂拉木县| 泰州市| 玉龙|