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小时内与您取得联系。