PHP UNICODE编码(\u) 和UTF-8 之间转换

实现Unicode和UTF编码之间的相互转换方法(PHP) 通过使用mb_convert_encoding函数和mb_detect_encoding函数,你可以轻松地在字符串之间进行转换,并确定字符串的编码类型。mb_convert_encoding函数的第一个参数是要转换的字符串,第二个参数是目标编码(这里是UTF-8),第三个参数是源编码(这里是Unicode)。要将UTF编码转换为Unicode,可以使用mb_convert_encoding函数的相反操作。在PHP中,我们可以使用内置的函数和一些算法来实现Unicode和UTF编码之间的相互转换。 阅读详情
header("content:application/json;chartset=uft-8");


//将内容进行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;
}
//将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;
}
$utf8_name = 'MY,你的东西';  //MY,\u4f60\u5927\u7237\u7684
$unicode_name=unicode_encode($utf8_name);
echo $unicode_name . ' -> '.unicode_decode($unicode_name);

echo  unicode_decode("\u0000");

 

PHP实现unicode转utf8(附完整源码) 阅读详情

相关推荐

PHP如何实现Unicode和Utf-8编码相互转换

最近恰好要用到unicode编码的转换,就去查了一下php的库函数,居然没找到一个函数可以对字符串进行Unicode的编码和解码!也罢,找不到的话就自己实现一下了。。。 Unicode和Utf-8编码的区别 Unicode是一个字符集,而UTF-8是Unicode的其中一种,Unicode是定长的都为双字节,而UTF-8是可变的,对于汉字来说Unicode占有的字节比UTF-8占用的字节少1个字节。Unicode为双字节,而UTF-8中汉字占三个字节。 UTF-8编码字符理论上可以最多到6个字节长,然而16位BMP(Basic Multilingual Plane)字符最多只用到3字节长。下面

PHP Unicode编码与解码_Unicode转中文_中文转Unicode字符

下边的代码直接用命令行执行,用phpStorm客户端手动点击执行按钮,会出现乱码问题。

hanzhuang12345的博客 1135

西门子828D/840DSL数控机床产量数据采集实战:手把手教你绕过授权限制(附Demo源码)

本文详细介绍了西门子828D/840DSL数控机床产量数据采集的实战技术,包括绕过授权限制的替代方案和实现方法。通过分析通信协议、配置参数和数据处理,提供了一套高效且合规的数据采集解决方案,并附有Demo源码,帮助技术人员快速上手。

weixin_28278377的博客 763

php u6536编码转,PHP UNICODE编码(\u) 和UTF-8 之间转换

header("content:application/json;chartset=uft-8");//将内容进行UNICODE编码function unicode_encode($name){$name = iconv('UTF-8', 'UCS-2', $name);$len = strlen($name);$str = '';for ($i = 0; $i < $len - 1; $i...

weixin_42351189的博客 1092

[DA45] 使用PageRank算法分析希拉里邮件中的人物关系

一. 相关知识 (一) PageRank算法 PageRank 算法是 google 公司的创始人拉里·佩奇和谢尔·盖布林于1998年提出的网页搜索优化算法. 详细内容请见百度百科:google pagerank. 如果你了解了该算法, 就能明白上一段的超链接从本页面链出, 链入百度百科的 PageRank 算法页面增加了该页面...

Vincent_Chu的博客 2378

Altium Designer操作技巧(1)——原理图中如何批量替换元器件?

《AltiumDesigner批量替换元器件技巧分享》摘要:本文介绍了两种在AltiumDesigner中批量替换元器件的实用方法。方法一通过“查找相似对象”功能,可精准匹配并批量修改器件参数;方法二利用ActiveBOM功能,在BOM表中直观操作器件替换,推荐使用第二种方法可使BOM管理更高效。这些技巧能有效减少物料种类、降低贴装成本,特别适用于电阻电容等常用器件的批量替换。关注公众号获取更多电子设计技巧。

u012526819的博客 2590

PHP实现Unicode和Utf-8互相转换

一. 编码原理及实现   unicode编码是实现utf-8与gb系列编码(gb2312、gbk、gb18030)转换的基础,虽然我们也可以直接做一个utf-8到这些编码的对照表,但很少有人会这么做,因为utf-8的可变编码具有不确定性,因此一般情况使用都是unicode与gb编码的对照表,unicode(UCS-2)实际上是utf-8的基础编码,utf-8只是它的一种实现而已,两者存在下面的对

u011862178的专栏 2839

从零开始安装使用opengauss数据库(高斯数据库)

openGauss(高斯数据库)的环境配置、安装方法、基本使用方法

qq_43764807的博客 1万+

浅谈用php对unicode转utf-8编码

(IT柏拉图 原创文章)如果只是unicode转utf-8编码的算法,网上到处都是了,不过很多人也是你抄我,我抄你,根本就不理解why和do,本文除了给出最简单的php对unicode转utf-8编码函数之外,也深入讨论了这两种编码的关系,理解好了会发现网上一些旧的东西,是严重多余兼过期的,因为从utf-8流行开始到现在,早已经由原来六字节可变编码到实际完全居于unicode(UCS-2)的稳定阶

ddboy的专栏 4321

深度学习简介(框架)

深度学习是一种基于人工神经网络的机器学习方法,它通过模拟人脑的工作原理来解决复杂的数据模式识别问题。这种方法在图像识别、语音识别、自然语言处理等领域取得了显著的进展。深度学习是机器学习的一个子领域,它基于人工神经网络的学习算法,特别是那些具有多层(深层)结构的网络。这些深度神经网络能够学习数据的高级特征和模式。深度学习作为人工智能的关键驱动技术,已经在多个领域展现出其强大的能力。随着研究的深入和技术的发展,深度学习将继续推动人工智能的边界向前发展。

2301_77539454的博客 5352

C++利用spdlog生成日志

C++利用spdlog生成日志下载编译spdlog配置并使用 环境:Win10-x64+VS2015 spdlog是一个快速的C++日志库,能够兼容C++11,具备快速、无需依赖第三方库、支持多线程、多平台的优良特性! 下载编译spdlog 1.第一步,下载spdlog 下载spdlog,下载地址:https://github.com/gabime/spdlog#header-only-version,从Github上下载zip压缩包。下载完成后会获取一个名为spdlog-1.x.zip的压缩包 2.第二步

weixin_42975610的博客 3222

Java中弄懂Unicode和UTF-8编码方式

1.Unicode Unicode 是全球文字统一编码。它把世界上的各种文字的每一个字符指定唯一编码,实现跨语种、跨平台的应用。 Unicode 只是一个符号集,它只规定了每个符号的二进制数,却没有规定这个二进制数应该如何存储。比如,汉字‘严’的 Unicode 是十六进制数4E25,转换成二进制数足足有15位(100111000100101),也就是说,这个符号的表示至少需要2个字节。表示其他更...

诚 5万+

MuJoCo 相机图片怎么拿?视角调整获取物体图片及实时显示(附代码)

在Mujoco的仿真中,对于识别抓取场景来说,如何获得添加的body等物体的实时图像很重要,今天就分享下如何添加相机视角及可视化小方块(举例)的实时图片。复制一个scene.xml为scene_withcamera.xml,在xml中添加camera和小方块如下。设置xml文件中添加的相机body id。需要创建一个离屏渲染器。

darcsdn 2128

php u6536编码转,PHP如何实现Unicode和Utf-8编码相互转换

PHP如何实现Unicode和Utf-8编码相互转换通过PHP实现一个函数可以对字符串进行Unicode的编码和解码,需要的朋友可以参考下。最近恰好要用到unicode编码的转换,就去查了一下php的库函数,居然没找到一个函数可以对字符串进行Unicode的编码和解码!也罢,找不到的话就自己实现一下了。。。Unicode和Utf-8编码的区别Unicode是一个字符集,而UTF-8是Unicode...

weixin_31328141的博客 439

(三十九)Flask 多应用架构(Multiple Apps)与 DispatcherMiddleware 实战解析

(三十九)Flask 多应用架构(Multiple Apps)与 DispatcherMiddleware 实战解析

孤寒者的博客 1万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Unicode 和 UTF-8 有什么区别?

本文主要介绍了字符编码相关知识,重点解析了Unicode与UTF-8的区别:Unicode是字符集标准,UTF-8是其实现编码规则。文章通过PHP代码示例展示了JSON编码/解码过程中Unicode码位的处理方式,并提出了关于ASCII、GB2312/GBK等编码标准的区别问题。作者指出GB系编码仍在广泛使用主要是出于存储和流量节省的考虑,同时提及了UTF-8/16/32及BOM等概念的差异问题有待后续补充。全文为开发者理解字符编码体系提供了基础指引。

"代码"的日常搬运 5227

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

hzwap u.php_PHP实现Unicode和Utf-8编码的互相转换

最近恰好要用到unicode编码的转换,就去查了一下php的库函数,居然没找到一个函数可以对字符串进行Unicode的编码和解码!也罢,找不到的话就自己实现一下了。。。Unicode和Utf-8编码的区别Unicode是一个字符集,而UTF-8是Unicode的其中一种,Unicode是定长的都为双字节,而UTF-8是可变的,对于汉字来说Unicode占有的字节比UTF-8占用的字节少1个字节。U...

weixin_39882271的博客 165

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

php 16进制转换utf-8,php对unicode转utf-8编码

如果只是unicode转utf-8编码的算法,网上到处都是了,不过很多人也是你抄我,我抄你,根本就不理解why和do,本文除了给出最简单的php对unicode转utf-8编码函数之外,也深入讨论了这两种编码的关系,理解好了会发现网上一些旧的东西,是严重多余兼过期的,因为从utf-8流行开始到现在,早已经由原来六字节可变编码到实际完全居于unicode(UCS-2)的稳定阶段。unicode编码是...

weixin_36266554的博客 786

PHP实现字符编码互转[ANSI、Unicode、Unicode big endian、UTF-8、UTF-8+Bom]

最近在做工具的时候遇到读取两个文件编码不一致的情况,但实际情况并不是用iconv转换就可以的那么简单,因为其中一个编码是ANSI,另一个是Unicode big endian,这时候用函数mb_detect_encoding 都识别不了编码,更别想用几个函数就能简单转换了。 不过google到了一个不错的php类,引入即可。 PHP字符编码互转类 <?php /** 字符编码转换类, A...

丈哥SEO博客 2083

php gb18030 utf-8,Unicode UTF-8与GB18030编码解析(golang)

最早接触到编码问题时,无非是关于『乱码』一词,当某个程序或者网页或者数据库或者IDE中一看出现了乱码,就马上知道这是字符编码与解码不匹配,改下编码就好,就因为这个事情太简单,容易解决,甚至在一段时间看到一段乱码文字形状,就知道这肯定是xxx编码转为yyy编码存储然后又用xxx来显示导致的。。。从来没有去纠结到底为什么有这么多编码,到底为何需要转换?是怎么转换的?如何转换?为什么都通用utf-8还有...

weixin_28729843的博客 1561

php 字符编码转换类,支持ANSI Unicode Unicode big endian UTF-8 UTF-8+Bo

php 字符编码转换类,支持ANSI Unicode Unicode big endian UTF-8 UTF-8+Bo

hsyyff的博客 616

php如何获得编码_PHP如何实现Unicode和Utf-8编码相互转换

最近恰好要用到unicode编码的转换,就去查了一下php的库函数,居然没找到一个函数可以对字符串进行Unicode的编码和解码!也罢,找不到的话就自己实现一下了。。。Unicode和Utf-8编码的区别Unicode是一个字符集,而UTF-8是Unicode的其中一种,Unicode是定长的都为双字节,而UTF-8是可变的,对于汉字来说Unicode占有的字节比UTF-8占用的字节少1个字节。U...

weixin_34142735的博客 181

gb2312 和 unicode (UTF-8)间的编码转换

gb2312 和 unicode (UTF-8)间的编码转换下面的例子是将 gb2312 转换为 "&#20840;"这种形式下面的例子是将 gb2312 转换为 "&#20840;"这种形式php4.3.1以后的iconv函数很好用的,只是需要自己写一个uft8到unicode的转换函数查表(gb2312.txt)也行$text = "电子书库";preg_match_all

等闲之辈 的 Gemini 's Blog 1148

unicode utf8 转换 php,Unicode和Utf-8转换

[TOC]# Unicode和Utf-8编码的区别Unicode是一个字符集,定义了字符与数字之间的对应关系,在Unicode中:汉字“字”对应的数字是23383(十进制),十六进制表示为5B57。在Unicode中,我们有很多方式将数字23383表示成程序中的数据,包括:UTF-8、UTF-16、UTF-32。UTF是“Unicode Transformation Format”的缩写,可以翻译...

weixin_33542015的博客 227

php转换编码%e4,常见编码之间的转换

写这个的目的就是平时经常遇见一串字符串,看起来像是被加密或者是编码过,但是无从下手,发到群里问大佬,大佬一眼就能看出来是什么编码,比如经过base64加密过、经过md5加密过、被转换成了16进制。所以写这篇文章就是想整理一下常见的编码的特点。我目前比较经常见到的:Ascii、unicode、HEX、URL、base64、MD51.Ascii编码Ascii编码就是我们在电脑上看到的字符(输入法切换到...

weixin_35208812的博客 1万+
上一篇: Linux守护进程Shell脚本
下一篇: MySQL存储过程,树状结构数据查询
foxtool23
博客等级 码龄20年 5粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值