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 相关文章推荐
一个简单的MySQL数据浏览器
Oct 09 PHP
linux下删除7天前日志的代码(php+shell)
Jan 02 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
Jun 21 PHP
PHP实现根据银行卡号判断银行
Apr 29 PHP
php发送邮件的问题详解
Jun 22 PHP
常见PHP数据库解决方案分析介绍
Sep 24 PHP
Laravel框架生命周期与原理分析
Jun 12 PHP
PHP与以太坊交互详解
Aug 24 PHP
PHP Redis扩展无法加载的问题解决方法
Aug 22 PHP
laravel 实现用户登录注销并限制功能
Oct 24 PHP
PHP程序员必须知道的两种日志实例分析
May 14 PHP
php7中停止php-fpm服务的方法详解
May 09 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/04/04 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
2018/05/12 PHP
调试php程序的简单步骤
2019/10/04 PHP
jquery dialog键盘事件代码
2010/08/01 Javascript
javascript 函数参数限制说明
2010/11/19 Javascript
在Javascript里访问SharePoint列表数据的实现方法
2011/05/22 Javascript
iphone safari不支持position fixed的解决方法
2012/05/04 Javascript
jquery 倒计时效果实现秒杀思路
2013/09/11 Javascript
jQuery实现下滑菜单导航效果代码
2015/08/25 Javascript
微信小程序 密码输入(源码下载)
2017/06/27 Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
2017/11/15 Javascript
浅谈Angular 中何时取消订阅
2017/11/22 Javascript
ES6知识点整理之模块化的应用详解
2019/04/15 Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
2019/04/17 Javascript
基于ssm框架实现layui分页效果
2019/07/27 Javascript
详解基于Vue的支持数据双向绑定的select组件
2019/09/02 Javascript
Vue axios 将传递的json数据转为form data的例子
2019/10/29 Javascript
vuex 多模块时 模块内部的mutation和action的调用方式
2020/07/24 Javascript
Javascript call及apply应用场景及实例
2020/08/26 Javascript
[04:40]2016个国际邀请赛中国区预选赛场地——华西村观战指南
2016/06/25 DOTA
Linux下Python获取IP地址的代码
2014/11/30 Python
python安装cx_Oracle模块常见问题与解决方法
2017/02/21 Python
K-means聚类算法介绍与利用python实现的代码示例
2017/11/13 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
2019/03/23 Python
使用TensorFlow-Slim进行图像分类的实现
2019/12/31 Python
Python项目打包成二进制的方法
2020/12/30 Python
纯css3实现思维导图样式示例
2018/11/01 HTML / CSS
实例讲解利用HTML5 Canvas API操作图形旋转的方法
2016/03/22 HTML / CSS
Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗
2013/05/01 面试题
小班评语大全
2014/05/04 职场文书
机关搬迁方案
2014/05/18 职场文书
校长师德表现自我评价
2015/03/05 职场文书
交通安全温馨提示语
2015/07/14 职场文书
幼儿园园长新年寄语
2015/08/17 职场文书
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python