全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

php unicode编码和字符串互转的方法

php字符串转Unicode编码, Unicode编码转php字符

百度了很多,都一样, 要么不对, 要不就是只是把字符串的汉字转Unicode

经过多次试验查找, 找到了如下方法,

注意:字符串编码必须是utf-8,如果不是自行用icon转一下

//字符串转Unicode编码
function unicode_encode($strLong) {
 $strArr = preg_split('/(?<!^)(?!$)/u', $strLong);//拆分字符串为数组(含中文字符)
 $resUnicode = '';
 foreach ($strArr as $str)
 {
   $bin_str = '';
   $arr = is_array($str) ? $str : str_split($str);//获取字符内部数组表示,此时$arr应类似array(228, 189, 160)
   foreach ($arr as $value)
   {
     $bin_str .= decbin(ord($value));//转成数字再转成二进制字符串,$bin_str应类似111001001011110110100000,如果是汉字"你"
   }
   $bin_str = preg_replace('/^.{4}(.{4}).{2}(.{6}).{2}(.{6})$/', '$1$2$3', $bin_str);//正则截取, $bin_str应类似0100111101100000,如果是汉字"你"
   $unicode = dechex(bindec($bin_str));//返回unicode十六进制
   $_sup = '';
   for ($i = 0; $i < 4 - strlen($unicode); $i++)
   {
     $_sup .= '0';//补位高字节 0
   }
   $str = '\\u' . $_sup . $unicode; //加上 \u 返回
   $resUnicode .= $str;
 }
 return $resUnicode;
}
//Unicode编码转字符串方法1
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;
}
//Unicode编码转字符串
function unicode_decode2($str){
 $json = '{"str":"' . $str . '"}';
 $arr = json_decode($json, true);
 if (empty($arr)) return '';
 return $arr['str'];
}

echo unicode_encode('若水小站:qq963087326'),'<br>';
//结果\u82e5\u6c34\u5c0f\u7ad9\u003a\u0071\u0071\u0039\u0036\u0033\u0030\u0038\u0037\u0033\u0032\u0036

echo unicode_decode('\u82e5\u6c34\u5c0f\u7ad9\u003a\u0071\u0071\u0039\u0036\u0033\u0030\u0038\u0037\u0033\u0032\u0036');
//结果若水小站:qq963087326

总结


# php  # unicode编码和字符串互转  # unicode编码字符串  # PHP解码unicode编码的中文字符代码分享  # php制作unicode解码工具(unicode编码转换器)代码分享  # 浅析PHP中的UNICODE 编码与解码  # PHP如何实现Unicode和Utf-8编码相互转换  # 转成  # 如果不是  # 转换成  # 找到了  # ord  # decbin  # preg_replace  # array  # str_split  # strlen  # _sup  # 补位高  # unicode_decode  # return  # unicode  # dechex  # 十六进制  # bindec  # brush  # class 


相关文章: 高性能网站服务器部署指南:稳定运行与安全配置优化方案  如何在橙子建站上传落地页?操作指南详解  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  实例解析Array和String方法  佛山企业网站制作公司有哪些,沟通100网上服务官网?  建站之星后台密码遗忘或太弱?如何重置与强化?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  北京网站制作网页,网站升级改版需要多久?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  建站之星代理平台如何选择最佳方案?  如何高效完成自助建站业务培训?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  如何在云服务器上快速搭建个人网站?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何快速搭建FTP站点实现文件共享?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  历史网站制作软件,华为如何找回被删除的网站?  如何在IIS中新建站点并解决端口绑定冲突?  如何快速搭建安全的FTP站点?  设计网站制作公司有哪些,制作网页教程?  建站之星24小时客服电话如何获取?  大连网站设计制作招聘信息,大连投诉网站有哪些?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  建站之星如何保障用户数据免受黑客入侵?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  如何彻底删除建站之星生成的Banner?  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  如何安全更换建站之星模板并保留数据?  手机网站制作与建设方案,手机网站如何建设?  常州企业网站制作公司,全国继续教育网怎么登录?  如何选择高效可靠的多用户建站源码资源?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  建站主机选择指南:服务器配置与SEO优化实战技巧  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  建站之星伪静态规则如何设置?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  微信推文制作网站有哪些,怎么做微信推文,急?  如何做网站制作流程,*游戏网站怎么搭建?  公司网站设计制作厂家,怎么创建自己的一个网站?  TestNG的testng.xml配置文件怎么写  招商网站制作流程,网站招商广告语?  建站VPS推荐:2025年高性能服务器配置指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。