php实现utf-8转unicode函数分享


Posted in PHP onJanuary 06, 2015

代码很简单,功能却很实用,推荐给大家。

奉上代码先:

public function utf8_unicode($str) {

    $unicode = array();

    $values = array();

    $lookingFor = 1;

    for ($i = 0; $i < strlen( $str ); $i++ ) {

        $thisValue = ord( $str[ $i ] );

        if ( $thisValue < ord('A') ) {

            // exclude 0-9

            if ($thisValue >= ord('0') && $thisValue <= ord('9')) {

                 // number

                 $unicode[] = chr($thisValue);

            }

            else {

                 $unicode[] = '%'.dechex($thisValue);

            }

        } else {

            if ( $thisValue < 128) {

                $unicode[] = $str[ $i ];

            } else {

                if ( count( $values ) == 0 ) {

                    $lookingFor = ( $thisValue < 224 ) ? 2 : 3;

                }

                $values[] = $thisValue;

                if ( count( $values ) == $lookingFor ) {

                    $number = ( $lookingFor == 3 ) ?

                        ( ( $values[0] % 16 ) * 4096 ) + ( ( $values[1] % 64 ) * 64 ) + ( $values[2] % 64 ):

                        ( ( $values[0] % 32 ) * 64 ) + ( $values[1] % 64 );

                    $number = dechex($number);

                    $unicode[] = (strlen($number)==3)?"\u0".$number:"\u".$number;

                    $values = array();

                    $lookingFor = 1;

                } // if

            } // if

        }

    } // for

    return implode("",$unicode);

}
PHP 相关文章推荐
php抓取https的内容的代码
Apr 06 PHP
php 缩略图实现函数代码
Jun 23 PHP
PHP遍历目录并返回统计目录大小
Jun 09 PHP
php批量添加数据与批量更新数据的实现方法
Dec 16 PHP
php计算2个日期的差值函数分享
Feb 02 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
Oct 08 PHP
ThinkPHP的SAE开发相关注意事项详解
Oct 09 PHP
CakePHP框架Model关联对象用法分析
Aug 04 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
PHP基于面向对象实现的留言本功能实例
Apr 04 PHP
thinkPHP框架实现生成条形码的方法示例
Jun 06 PHP
详解Laravel服务容器的绑定与解析
Nov 05 PHP
windows中为php安装mongodb与memcache
Jan 06 #PHP
phpQuery让php处理html代码像jQuery一样方便
Jan 06 #PHP
php基于表单密码验证与HTTP验证用法实例
Jan 06 #PHP
php使用fputcsv()函数csv文件读写数据的方法
Jan 06 #PHP
phplot生成图片类用法详解
Jan 06 #PHP
写一段简单的PHP建立文件夹代码
Jan 06 #PHP
php读取flash文件高宽帧数背景颜色的方法
Jan 06 #PHP
You might like
基于PHP开发中的安全防范知识详解
2013/06/06 PHP
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
2013/09/23 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
2016/09/23 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
Javascript堆排序算法详解
2014/12/03 Javascript
AngularJS中取消对HTML片段转义的方法例子
2015/01/04 Javascript
jQuery下拉友情链接美化效果代码分享
2015/08/26 Javascript
jQuery获取attr()与prop()属性值的方法及区别介绍
2016/07/06 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
微信小程序 toast 详解及实例代码
2016/11/09 Javascript
jQuery纵向导航菜单效果实现方法
2016/12/19 Javascript
JS实现的简单拖拽功能示例
2017/03/13 Javascript
Vue2.0 从零开始_环境搭建操作步骤
2017/06/14 Javascript
实例详解BootStrap的动态模态框及静态模态框
2018/08/13 Javascript
VUEX采坑之路之获取不到$store的解决方法
2019/11/08 Javascript
JS制作简易计算器的实例代码
2020/07/04 Javascript
python操作redis的方法
2015/07/07 Python
python实现FTP服务器服务的方法
2017/04/11 Python
在双python下设置python3为默认的方法
2018/10/31 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
python爬虫泛滥的解决方法详解
2020/11/25 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
HTML5等待加载动画效果
2017/07/27 HTML / CSS
HTML5中canvas中的beginPath()和closePath()的重要性
2018/08/24 HTML / CSS
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
大型会议策划方案
2014/05/17 职场文书
学校门卫岗位职责范本
2014/06/30 职场文书
环境监测与治理技术专业求职信
2014/07/06 职场文书
教师党员个人整改措施材料
2014/09/16 职场文书
财务务虚会发言材料
2014/10/20 职场文书
个人房屋租赁合同(标准范本)
2019/09/16 职场文书
利用ajax+php实现商品价格计算
2021/03/31 PHP
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js
JavaScript阻止事件冒泡的方法
2021/12/06 Javascript