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 相关文章推荐
mysql5详细安装教程
Jan 15 PHP
PHP扩展编写点滴 技巧收集
Mar 09 PHP
PHP函数addslashes和mysql_real_escape_string的区别
Apr 22 PHP
php 过滤英文标点符号及过滤中文标点符号代码
Jun 12 PHP
ThinkPHP之M方法实例详解
Jun 20 PHP
php获得网站访问统计信息类Compete API用法实例
Apr 02 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
Mar 17 PHP
php输出含有“#”字符串的方法
Jan 18 PHP
PHP获取当前系统时间的方法小结
Oct 03 PHP
PHP htmlspecialchars()函数用法与实例讲解
Mar 08 PHP
PHP session垃圾回收机制实例分析
Jun 28 PHP
php 中self,this的区别和操作方法实例分析
Nov 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
实现分十页分向前十页向后十页的处理
2006/10/09 PHP
php.ini修改php上传文件大小限制的方法详解
2013/06/17 PHP
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
php函数与传递参数实例分析
2014/11/15 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
2016/08/17 PHP
使用正则去除php代码中的注释方法
2016/11/03 PHP
laravel 关联关系遍历数组的例子
2019/10/10 PHP
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
2010/09/15 Javascript
js动态修改input输入框的type属性(实现方法解析)
2013/11/13 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
jQuery插件zTree实现更新根节点中第i个节点名称的方法示例
2017/03/08 Javascript
在bootstrap中实现轮播图实例代码
2017/06/11 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
vue中使用[provide/inject]实现页面reload的方法
2019/09/30 Javascript
Vue退出登录时清空缓存的实现
2019/11/12 Javascript
基于Ionic3实现选项卡切换并重新加载echarts
2020/09/24 Javascript
Vue常用API、高级API的相关总结
2021/02/02 Vue.js
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
python实现从一组颜色中找出与给定颜色最接近颜色的方法
2015/03/19 Python
详解Python在七牛云平台的应用(一)
2017/12/05 Python
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
Python实现12306火车票抢票系统
2019/07/04 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
Pycharm添加虚拟解释器报错问题解决方案
2020/10/13 Python
HTML5实现锚点时请使用id取代name
2013/09/06 HTML / CSS
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
汽车专业毕业生自荐信
2013/11/03 职场文书
促销活动总结报告
2014/04/26 职场文书
文秘班元旦晚会活动策划方案
2014/08/28 职场文书
党的群众路线剖析材料
2014/10/09 职场文书
立春观后感
2015/06/18 职场文书
工程款催款函
2015/06/24 职场文书
2016年母亲节广告语
2016/01/28 职场文书
Java 超详细讲解ThreadLocal类的使用
2022/04/07 Java/Android