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 相关文章推荐
html中select语句读取mysql表中内容
Oct 09 PHP
PHP 一个页面执行时间类代码
Mar 05 PHP
基于php权限分配的实现代码
Apr 28 PHP
PHP实现变色验证码实例
Jan 06 PHP
php读取3389的脚本
May 06 PHP
CI框架中通过hook的方式实现简单的权限控制
Jan 07 PHP
php的闭包(Closure)匿名函数详解
Feb 22 PHP
PHP中spl_autoload_register()函数用法实例详解
Jul 18 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
Sep 11 PHP
Thinkphp整合阿里云OSS图片上传实例代码
Apr 28 PHP
laravel5.1框架model类查询的实现方法
Oct 08 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
Dec 01 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
ninety plus是什么?ninety plus咖啡好吗?
2021/03/04 新手入门
简单采集了yahoo的一些数据
2007/02/14 PHP
PHP遍历数组的方法汇总
2015/04/30 PHP
PHP使用pear自带的mail类库发邮件的方法
2015/07/08 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
php中上传文件的的解决方案
2018/09/25 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
IE6 fixed的完美解决方案
2011/03/31 Javascript
基于jquery实现的表格分页实现代码
2011/06/21 Javascript
js判断鼠标同时离开两个div的思路及代码
2013/05/31 Javascript
JavaScript设计模式之适配器模式介绍
2014/12/28 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
关于Javascript回调函数的一个妙用
2016/08/29 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
2016/12/04 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
2016/12/05 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
2016/12/13 Javascript
利用 spin.js 生成等待效果(js 等待效果)
2017/06/25 Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
2017/11/27 Javascript
vue 实现通过手机发送短信验证码注册功能
2018/04/19 Javascript
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
js tab栏切换代码实例解析
2019/09/03 Javascript
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
2020/08/28 Javascript
[02:12]DOTA2英雄基础教程 变体精灵
2013/12/16 DOTA
[03:47]2015国际邀请赛第三日现场精彩回顾
2015/08/08 DOTA
Python中的startswith和endswith函数使用实例
2014/08/25 Python
python基础教程之自定义函数介绍
2014/08/29 Python
Python的Django框架安装全攻略
2015/07/15 Python
Python基于Floyd算法求解最短路径距离问题实例详解
2018/05/16 Python
Python Celery多队列配置代码实例
2019/11/22 Python
Python如何实现在字符串里嵌入双引号或者单引号
2020/03/02 Python
opencv 图像腐蚀和图像膨胀的实现
2020/07/07 Python
python进度条显示-tqmd模块的实现示例
2020/08/23 Python
python模块内置属性概念及实例
2021/02/18 Python
Ralph Lauren意大利官方网站:时尚界最负盛名的品牌之一
2018/10/18 全球购物
2015庆祝七一建党节94周年活动总结
2015/03/20 职场文书