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 preg_match_all结合str_replace替换内容中所有img
Oct 11 PHP
Memcache 在PHP中的使用技巧
Feb 08 PHP
PHP导出MySQL数据到Excel文件(fputcsv)
Jul 03 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
Jun 03 PHP
解析php多线程下载远程多个文件
Jun 25 PHP
解析php中如何直接执行SHELL
Jun 28 PHP
PHP接收json 并将接收数据插入数据库的实现代码
Dec 01 PHP
laravel5环境隐藏index.php后缀(apache)的方法
Oct 12 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 26 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 05 PHP
PHP操作Redis常用命令的实例详解
Dec 23 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的慢速日志引起的Mysql错误问题分析
2014/05/13 PHP
PHP获取某个月最大天数(最后一天)的方法
2015/07/29 PHP
PHP框架laravel的.env文件配置教程
2017/06/07 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
2017/08/01 PHP
Swoole4.4协程抢占式调度器详解
2019/05/23 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
2019/12/31 PHP
JavaScript 继承详解(三)
2009/07/13 Javascript
javascript针对DOM的应用实例(一)
2012/04/15 Javascript
使用js检测浏览器的实现代码
2013/05/14 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
从零开始学习Node.js系列教程二:文本提交与显示方法
2017/04/13 Javascript
表格展示利器 Bootstrap Table实例代码
2017/09/06 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
vue2.0实现移动端的输入框实时检索更新列表功能
2018/05/08 Javascript
layui获取多选框中的值方法
2018/08/15 Javascript
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
详解Webstorm 下的Angular2.0开发之路(图文)
2018/12/06 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
2020/08/25 Javascript
python实现飞行棋游戏
2020/02/05 Python
Django模板之基本的 for 循环 和 List内容的显示方式
2020/03/31 Python
python3安装OCR识别库tesserocr过程图解
2020/04/02 Python
django 解决model中类写不到数据库中,数据库无此字段的问题
2020/05/20 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
基于canvas使用贝塞尔曲线平滑拟合折线段的方法
2018/01/10 HTML / CSS
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
介绍下Lucene建立索引的过程
2016/03/02 面试题
超市业务员岗位职责
2013/12/05 职场文书
护理学应聘自荐书范文
2014/02/05 职场文书
运动会闭幕式解说词
2014/02/21 职场文书
重大事项社会稳定风险评估方案
2014/06/15 职场文书
教师群众路线教育实践活动学习笔记
2014/11/05 职场文书
优秀班主任事迹材料
2014/12/16 职场文书
奖学金个人总结
2015/03/04 职场文书
大学生就业意向书
2015/05/11 职场文书
Python selenium模拟网页点击爬虫交管12123违章数据
2021/05/26 Python