unicode编码 php,PHP 的 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).str_pad(base_convert(ord($c2), 10, 16), 2, 0, STR_PAD_LEFT);
}
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;
}方法二:
function unicode2utf8($str){
if(!$str) return $str;
$decode = json_decode($str);
if($decode) return $decode;
$str = '["' . $str . '"]';
$decode = json_decode($str);
if(count($decode) == 1){
return $decode[0];
}
return $str;
}
unicode编码 php,PHP 的 UNICODE 编码和解码相关推荐
- 三种字符编码:ASCII、Unicode和UTF-8
原文:三种字符编码:ASCII.Unicode和UTF-8 什么是字符编码? 计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字 ...
- PYTHON编码处理-str与Unicode的区别
一篇关于STR和UNICODE的好文章 整理下python编码相关的内容 注意: 以下讨论为Python2.x版本, Py3k的待尝试 开始 用python处理中文时,读取文件或消息,http参数等等 ...
- python unicode编码转换中文_python unicode转中文及转换默认编码
一. 在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u77ed\uff0cpy\u662f\u5cb8"转换为中文,实际上这是unicode的中文编码.可 ...
- python跟unicode一样吗_PYTHON编码处理-str与Unicode的区别
一篇关于STR和UNICODE的好文章 整理下python编码相关的内容 注意: 以下讨论为Python2.x版本, Py3k的待尝试 开始 用python处理中文时,读取文件或消息,http参数等等 ...
- 字符集与编码(四)——Unicode
2019独角兽企业重金招聘Python工程师标准>>> 注:由于两边同步的麻烦,更多更改及调整可参考我的网站:xiaogd.net 上的字符集编码与乱码系列,已将字符集编码系列与乱码 ...
- python utf-8编码转换中文_python实现unicode转中文及转换默认编码的方法
本文实例讲述了python实现unicode转中文及转换默认编码的方法.分享给大家供大家参考,具体如下: 一.在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u77e ...
- 编码方式 / ASCII、UNICODE、UTF-8、ANSI
一.ASCII 全称:American Standard Code for Information Interchange. 占用 1 个字节. 共可以表示 128 个字符,因为最前面那一位始终为 0 ...
- 【JAVA编码】 JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
http://blog.csdn.net/qinysong/article/details/1179489 这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记 ...
- 【JAVA编码专题】JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础
这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...
- Windows 记事本的 ANSI、Unicode、UTF-8 这三种编码模式有什么区别?
先来解释一下这三种编码的历史吧: ANSI:最早的时候计算机ASCII码只能表示256个符号(含控制符号),这个字符集表示英文字母足够,其中,我们键盘上可见的符号的编码范围是从32到126(大小写英文 ...
最新文章
- boost::asio异步模式的C/S客户端源码实现
- php找不到指定的模块,php中的dll“无法找到指定的模块”
- cannot import name ‘izip‘ from ‘itertools‘
- python装饰器_Python装饰器是个什么鬼?
- C语言之字符串处理函数
- EOJ Monthly 2019.11 E. 数学题(反演 + 杜教筛 + 拉格朗日插值)
- linux的常用操作——查看和修改文件权限
- 附录:更多列表操作命令
- CUDA 网格级并发-流(1)
- c#如何通过ftp上传文件_自动备份ftp,通过定时设置自动备份ftp上传下载文件
- TFT LCD显示原理详解
- selenium page_source跟手动打开的不一样_爬虫界又出神器|一款比selenium更高效的利器...
- 【渝粤教育】广东开放大学 标准的研制与编制 形成性考核 (35)
- 笔记本键盘失灵解决办法
- Linux下为空白SD卡建立BOOT,rootfs分区
- 一种贴片晶振异常情况,及晶振频率评估方法
- js 时区对应的时间转换
- props的几种写法
- unity基础(3)——从Unity Asset store获取资源
- Unix File Permissions ACLs in OS X(part 2)
热门文章
- linux 退后根目录,linux下半部与退后执行的工作
- linux交叉编译aix_mips-linux-gcc交叉编译工具链搭建小结【转】
- mysql单台跨数据库查询_在MySQL中怎样进行跨库查询?
- matlab 小波中心频率,小波频域特性Matlab实现.pdf
- nmap地址段下的ip_安服福音——花式nmap扫描整理结果(文末重磅消息)
- Word如何固定页面内容在某一页开头
- priority_queue实现大顶堆和小顶堆
- Fatal Error[Pe1696]:cannot open source file “sys.h”
- PyMC3和Lasagne构建神经网络(ANN)和卷积神经网络(CNN)
- MFC中文件打开与保存