网站首页 极客学院 视频课堂 极客论坛 下载专区 行业新闻 欢迎光临极客研究院,今天是2019-08-24 星期六
会员面板
帐号:
密码:
验证码:
极客学院
教程搜索
输入要搜索的内容:

下载专区
精品教程
   网站首页 > WEB开发 > PHP开发 > PHP显示16进制unicode编码内容

PHP显示16进制unicode编码内容


<?php

//将内容进行UNICODE编码,编码后的内容格式:u56feu7247 (原始:图片)

function unicode_encode($name)

{

   $name = iconv('UTF-8', 'UCS-2', $name);

   $len = strlen($name);

   $str = ''

   for ($i = 0; $i < $len - 1; $i = $i + 2)

   {

       $c = $name[$i];

       $c2 = $name[$i + 1];

       if (ord($c) > 0)

       {    // 两个字节的文字

           $str .= 'u'.base_convert(ord($c), 10, 16).base_convert(ord($c2), 10, 16);

       }

       else

       {

           $str .= $c2;

       }

   }

   return $str;

}


// 将UNICODE编码后的内容进行解码,编码后的内容格式:u56feu7247 (原始:图片)

function unicode_decode($name)

{

   // 转换编码,将Unicode编码转换成可以浏览的utf-8编码

   $pattern = '/([w]+)|(u([w]{4}))/i'

   preg_match_all($pattern, $name, $matches);

   if (!empty($matches))

   {

       $name = ''

       for ($j = 0; $j < count($matches[0]); $j++)

       {

           $str = $matches[0][$j];

           if (strpos($str, 'u') === 0)

           {

               $code = base_convert(substr($str, 2, 2), 16, 10);

               $code2 = base_convert(substr($str, 4), 16, 10);

               $c = chr($code).chr($code2);

               $c = iconv('UCS-2', 'UTF-8', $c);

               $name .= $c;

           }

           else

           {

               $name .= $str;

           }

       }

   }

   return $name;

}


//测试用例:


//编码

$name = '图片'

echo '<h3>'.unicode_encode($name).'</h3>'


//解码

echo '<h3>'.unicode_decode('u56feu7247').'</h3>'


?>

  相关文章
本文标题:PHP显示16进制unicode编码内容
对本文有疑问?现在就进入论坛提问>>
 
粤ICP备18090445号