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 相关文章推荐
从零开始 教你如何搭建Discuz!4.1论坛
Jul 07 PHP
一个MYSQL操作类
Nov 16 PHP
phpMyAdmin 安装配置方法和问题解决
Jun 08 PHP
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
Apr 02 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
Nov 02 PHP
利用php实现禁用IE和火狐的缓存问题
Dec 03 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
Oct 30 PHP
php实现图片等比例缩放代码
Jul 23 PHP
手把手编写PHP框架 深入了解MVC运行流程
Sep 19 PHP
phpmailer绑定邮箱的实现方法
Dec 01 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
Jun 11 PHP
php 使用html5 XHR2实现上传文件与进度显示功能示例
Mar 03 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
虫族 Zerg 热键控制
2020/03/14 星际争霸
DC动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
PHP中创建并处理图象
2006/10/09 PHP
php mysql数据库操作类
2008/06/04 PHP
Symfony控制层深入详解
2016/03/17 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
浅谈php调用python文件
2019/03/29 PHP
JavaScript DOM 学习第二章 编辑文本
2010/02/19 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
JavaScript中的pow()方法使用详解
2015/06/15 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
2017/05/11 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
浅谈Node.js 沙箱环境
2018/05/15 Javascript
微信小程序自定义组件封装及父子间组件传值的方法
2018/08/28 Javascript
async/await优雅的错误处理方法总结
2019/01/30 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
详解JavaScript 浮点数运算的精度问题
2019/07/23 Javascript
基于Vue实现微前端的示例代码
2020/04/24 Javascript
vue自定义树状结构图的实现方法
2020/10/18 Javascript
Python找出list中最常出现元素的方法
2016/06/14 Python
pandas 根据列的值选取所有行的示例
2018/11/07 Python
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
Django admin禁用编辑链接和添加删除操作详解
2019/11/15 Python
Python标准库shutil模块使用方法解析
2020/03/10 Python
CSS3 边框效果
2019/11/04 HTML / CSS
CSS3新增布局之: flex详解
2020/06/18 HTML / CSS
山海经纬软件测试笔试题和面试题
2013/04/02 面试题
总务岗位职责
2013/11/19 职场文书
门卫工作岗位职责
2013/12/17 职场文书
我的网上商城创业计划书
2013/12/26 职场文书
销售人员求职的自我评价分享
2014/03/15 职场文书
电话客服专员岗位职责
2014/06/28 职场文书
见习报告的格式
2014/11/04 职场文书
python playwright 自动等待和断言详解
2021/11/27 Python
教你在 Java 中实现 Dijkstra 最短路算法的方法
2022/04/08 Java/Android