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基础知识:类与对象(2) 自动加载对象
Dec 13 PHP
php addslashes 函数详细分析说明
Jun 23 PHP
PHP利用REFERER根居访问来地址进行页面跳转
Sep 28 PHP
php使用GD实现颜色渐变实例
Jun 02 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
Oct 21 PHP
WordPress中用于获取文章作者与分类信息的方法整理
Dec 17 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
Jan 05 PHP
PHP使用fopen与file_get_contents读取文件实例分享
Mar 04 PHP
php反射类ReflectionClass用法分析
May 12 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
Apr 01 PHP
PHP基于堆栈实现的高级计算器功能示例
Sep 15 PHP
php微信公众号开发之二级菜单
Oct 20 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/11/25 PHP
php环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
2007/03/16 PHP
Linux编译升级php的详细方法
2013/11/04 PHP
thinkphp在模型中自动完成session赋值示例代码
2014/09/09 PHP
php图像验证码生成代码
2017/06/08 PHP
php多进程应用场景实例详解
2019/07/22 PHP
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
js 实现菜单上下显示附效果图
2013/11/21 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
2014/08/27 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
jQuery中的each()详细介绍(推荐)
2016/05/25 Javascript
JavaScript实现时间倒计时跳转(推荐)
2016/06/28 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
jquery做个日期选择适用于手机端示例
2017/01/10 Javascript
vue.js单文件组件中非父子组件的传值实例
2018/09/13 Javascript
vue中使用props传值的方法
2019/05/08 Javascript
react中Suspense的使用详解
2019/09/01 Javascript
[01:08:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS LGD-CDEC
2014/05/22 DOTA
[06:07]DOTA2-DPC中国联赛3月5日Recap集锦
2021/03/11 DOTA
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
Python中用于计算对数的log()方法
2015/05/15 Python
Python处理JSON时的值报错及编码报错的两则解决实录
2016/06/26 Python
python中解析json格式文件的方法示例
2017/05/03 Python
Python操作word常见方法示例【win32com与docx模块】
2018/07/17 Python
Python 文本文件内容批量抽取实例
2018/12/10 Python
Python 实现自动导入缺失的库
2019/10/29 Python
Python导入数值型Excel数据并生成矩阵操作
2020/06/09 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
美国婚礼装饰和活动用品批发供应商:Event Decor Direct
2018/10/12 全球购物
数字漫画:comiXology
2020/06/13 全球购物
电台实习生求职信
2014/02/25 职场文书
公安纪律作风整顿剖析材料
2014/10/10 职场文书
小学端午节活动总结
2015/02/11 职场文书
干货:我将这样书写我的演讲稿!
2019/05/09 职场文书
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python