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你的验证码安全码?
Jan 02 PHP
php 生成静态页面的办法与实现代码详细版
Feb 15 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
Sep 15 PHP
深入HTTP响应状态码速查表的详解
Jun 07 PHP
PHP设计模式之迭代器模式的深入解析
Jun 13 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
May 23 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
Apr 22 PHP
大家都应该掌握的PHP关联数组使用技巧
Dec 25 PHP
php文件上传类的分享
Jul 06 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
Jan 29 PHP
PHP基于mcript扩展实现对称加密功能示例
Feb 21 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
Mar 04 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程序
2006/10/09 PHP
细谈php中SQL注入攻击与XSS攻击
2012/06/10 PHP
PHP中file_exists与is_file,is_dir的区别介绍
2012/09/12 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
2014/05/19 PHP
php readfile()修改文件上传大小设置
2017/08/11 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
js判断样式className同时增加class或删除class
2013/01/30 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
js导出txt示例代码
2014/01/14 Javascript
javascript检测是否联网的实现代码
2014/09/28 Javascript
node.js中的定时器nextTick()和setImmediate()区别分析
2014/11/26 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
2015/09/19 Javascript
BootStrap中Table分页插件使用详解
2016/10/09 Javascript
Javascript 普通函数和构造函数的区别
2016/11/05 Javascript
Vue.js 2.0中select级联下拉框实例
2017/03/06 Javascript
protractor的安装与基本使用教程
2017/07/07 Javascript
javascript将list转换成树状结构的实例
2017/09/08 Javascript
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
2017/09/23 jQuery
AngularJS实现controller控制器间共享数据的方法示例
2017/10/30 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
eslint 的三大通用规则详解
2019/05/16 Javascript
JavaScript enum枚举类型定义及使用方法
2020/05/15 Javascript
jQuery 隐藏/显示效果函数用法实例分析
2020/05/20 jQuery
Python实现抓取页面上链接的简单爬虫分享
2015/01/21 Python
Python实现栈的方法
2015/05/26 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
Python出现segfault错误解决方法
2016/04/16 Python
彻底理解Python中的yield关键字
2019/04/01 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
Django实现后台上传并显示图片功能
2020/05/29 Python
Lulu Guinness露露·吉尼斯官网:红唇包
2019/02/03 全球购物
教师队伍管理制度
2014/01/14 职场文书
运动会口号8字
2014/06/07 职场文书
英文演讲稿开场白
2014/08/25 职场文书
2015学习委员工作总结范文
2015/04/03 职场文书
SQL Server数据库基本概念、组成、常用对象与约束
2022/03/20 SQL Server