PHP中对汉字进行unicode编码和解码的实现方法(必看)

 更新时间:2017年2月18日 22:11  点击:2119

实例如下:

//将内容进行UNICODE编码
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;
}
$name = 'MY,你大爷的';
$unicode_name=unicode_encode($name);
echo '<h3>'.$unicode_name.'</h3>';
// 将UNICODE编码后的内容进行解码
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;
}
echo 'MY,\u4f60\u5927\u7237\u7684 -> '.unicode_decode($unicode_name);

以上这篇PHP中对汉字进行unicode编码和解码的实现方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

[!--infotagslink--]

相关文章

  • 通过javascript进行UTF-8编码的实现方法

    下面小编就为大家带来一篇通过javascript进行UTF-8编码的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-07-01
  • .Net(c#)汉字和Unicode编码互相转换实例

    下面小编就为大家带来一篇.Net(c#)汉字和Unicode编码互相转换实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • PHP中对汉字进行unicode编码和解码的实现方法

    小编推荐的这篇文章介绍了PHP中对汉字进行unicode编码和解码的实现方法,非常实用,有兴趣的同学可以参考一下。 代码如下复制代码 //将内容进行UNICODE编码fu...2017-07-06
  • C#实现Json转Unicode的方法

    这篇文章主要介绍了C#实现Json转Unicode的方法,可实现输入为带有json格式的文本,输出正常文本的功能,需要的朋友可以参考下...2020-06-25
  • PHP 正则匹配unicode 编码正则方法

    php教程 正则匹配unicode 编码正则方法,因为unicode编码的特殊性,所以一般的中文或英文正则是不能正确取到我们想要的内容的,下面来看一款专业的unicode正则表达式吧。...2016-11-25
  • php5.4中JSON_UNESCAPED_UNICODE让Json更懂中文

    在php5.4版本之前如果想让json支持中文我们需要进行一些转换操作,如使用json_encode中文的话会转换成像\\u4e2d\\u6587类的编码了,但有了JSON_UNESCAPED_UNICODE之后直...2016-11-25
  • 用PHP将Unicode 转化为UTF-8的实现方法

    小编推荐的这篇文章介绍了用PHP将Unicode 转化为UTF-8的实现方法,非常实用,有兴趣的同学快来看看吧。 代码如下复制代码 functionunescape($str) { $str= ra...2017-07-06
  • 解析JavaScript中的字符串类型与字符编码支持

    JavaScript中的字符串也像Python那样支持反斜杠的转移,并且字符集方面默认为Unicode,下面就来详细解析JavaScript中的字符串类型与字符编码支持...2016-07-01
  • PHP中对汉字进行unicode编码和解码的实现方法(必看)

    下面小编就为大家带来一篇PHP中对汉字进行unicode编码和解码的实现方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2017-02-18
  • 用PHP将Unicode 转化为UTF-8的实现方法(推荐)

    下面小编就为大家带来一篇用PHP将Unicode 转化为UTF-8的实现方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2017-02-18
  • C# 读取ttf字体文件里的Unicode实现

    这篇文章主要介绍了C# 读取 ttf字体文件里的 Unicode实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-03
  • C#将Unicode编码转换为汉字字符串的简单方法

    下面小编就为大家带来一篇C#将Unicode编码转换为汉字字符串的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-04-25
  • php高版本JSON_UNESCAPED_UNICODE解决json中文问题

    json中文乱码问题是一个比较大的问题在处理时要经过复杂的编码判断才可以解决这个问题,不过现在php5.4已经有一个解决方案了,它就是本文章要介绍的JSON_UNESCAPED_UNICO...2016-11-25
  • Golang中的Unicode与字符串示例详解

    这篇文章主要给大家介绍了关于Golang中Unicode与字符串的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Golang具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-06-01
  • php反中文汉字转Unicode编码实现程序

    本文章来给大家介绍php反中文汉字转Unicode编码实现程序方法,有需要了解的朋友可进入参考。 程序 代码如下 复制代码 /** * $str 原始字符...2016-11-25
  • C语言中字符和字符串处理(ANSI字符和Unicode字符)

    这篇文章主要介绍了C语言与C++中字符和字符串处理(ANSI字符和Unicode字符)的详细内容,非常的全面,这里推荐给大家,希望大家能够喜欢。...2020-04-25
  • C#把UNICODE编码转换为GB编码的实例

    下面小编就为大家带来一篇C#把UNICODE编码转换为GB编码的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • 浅谈php和js中json的编码和解码

    下面小编就为大家带来一篇浅谈php和js中json的编码和解码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-11-01
  • c# 实现获取汉字十六进制Unicode编码字符串的实例

    下面小编就为大家带来一篇c# 实现获取汉字十六进制Unicode编码字符串的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-04-25
  • C#随机生成Unicode类型字符串

    做测试时经常需要生成一些随机数据,最常见的就是生成随机字符串。而且往往要生成Unicode字符串,有时还要特别指定生成的字符的语言范围。下面是我觉得比较灵活的方法:...2020-06-25