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扩展编写点滴 技巧收集
Mar 09 PHP
PHP开启gzip页面压缩实例代码
Mar 11 PHP
php session安全问题分析
Jun 24 PHP
PHP中去除换行解决办法小结(PHP_EOL)
Nov 27 PHP
PHP 安全检测代码片段(分享)
Jul 05 PHP
PHP微信开发之二维码生成类
Jun 26 PHP
使用XHGui来测试PHP性能的教程
Jul 03 PHP
php中注册器模式类用法实例分析
Nov 03 PHP
使用ThinkPHP生成缩略图及显示
Apr 27 PHP
php工具型代码之印章抠图
Jul 18 PHP
php远程请求CURL案例(爬虫、保存登录状态)
Apr 01 PHP
PHP实现考试倒计时功能代码
Apr 16 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实现多服务器共享SESSION数据的方法
2007/03/16 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
2014/05/04 PHP
php中print(),print_r(),echo()的区别详解
2014/12/01 PHP
比较完整的微信开发php代码
2016/08/02 PHP
ThinkPHP5 验证器的具体使用
2018/05/31 PHP
PHP 枚举类型的管理与设计知识点总结
2020/02/13 PHP
jQuery的三种$()
2009/12/30 Javascript
理解Javascript_15_作用域分配与变量访问规则,再送个闭包
2010/10/20 Javascript
javascript (用setTimeout而非setInterval)
2011/12/28 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
2013/11/08 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
2014/04/17 Javascript
JavaScript二维数组实现的省市联动菜单
2014/05/08 Javascript
jQuery弹出窗口打开链接的实现代码
2016/12/24 Javascript
vue实现todolist单页面应用
2017/04/11 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
React中常见的动画实现的几种方式
2018/01/10 Javascript
使用elementUI实现将图片上传到本地的示例
2018/09/04 Javascript
jQuery pager.js 插件动态分页功能实例分析
2019/08/02 jQuery
JS倒计时两种实现方式代码实例
2020/07/27 Javascript
vue如何使用rem适配
2021/02/06 Vue.js
[56:01]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 Effect vs EG
2018/03/31 DOTA
python cookielib 登录人人网的实现代码
2012/12/19 Python
Python的for和break循环结构中使用else语句的技巧
2016/05/24 Python
numpy中的高维数组转置实例
2018/04/17 Python
python数据处理 根据颜色对图片进行分类的方法
2018/12/08 Python
django admin 添加自定义链接方式
2020/03/11 Python
python中Django文件上传方法详解
2020/08/05 Python
美国批发供应商:Kole Imports
2019/04/10 全球购物
毕业生自荐信的主要内容
2013/10/29 职场文书
关于群众路线的心得体会
2014/11/05 职场文书
2014年办公室主任工作总结
2014/11/12 职场文书
会计求职自荐信
2015/03/26 职场文书
产品调价通知函
2015/04/20 职场文书
2015年七夕情人节活动方案
2015/05/06 职场文书
导游词之包公祠
2019/11/25 职场文书
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis