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查找任何页面上的所有链接的方法
Dec 03 PHP
php stripslashes和addslashes的区别
Feb 03 PHP
php使用fputcsv()函数csv文件读写数据的方法
Jan 06 PHP
php精确的统计在线人数的方法
Oct 21 PHP
CodeIgniter配置之SESSION用法实例分析
Jan 19 PHP
Zend Framework教程之Application和Bootstrap用法详解
Mar 10 PHP
PHP  实现等比压缩图片尺寸和大小实例代码
Oct 08 PHP
php中html_entity_decode实现HTML实体转义
Jun 13 PHP
PDO::lastInsertId讲解
Jan 29 PHP
PHP中散列密码的安全性分析
Jul 26 PHP
THINKPHP5分页数据对象处理过程解析
Oct 28 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
Mar 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列出MySQL中所有数据库的方法
2015/03/12 PHP
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
微信 开发生成带参数的二维码的实例
2016/11/23 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
jQuery 动画弹出窗体支持多种展现方式
2010/04/29 Javascript
JS实现self的resend
2010/07/22 Javascript
Javascript实现滑块滑动改变值的实现代码
2013/04/12 Javascript
ScrollDown的基本操作示例
2013/06/09 Javascript
jquery处理json对象
2014/11/03 Javascript
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
seajs学习教程之基础篇
2016/10/20 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
2017/12/09 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
详解vue指令与$nextTick 操作DOM的不同之处
2018/08/02 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
2018/10/29 Javascript
BootStrap table实现表格行拖拽效果
2018/12/01 Javascript
[48:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第二场 1月29日
2021/03/11 DOTA
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
Python3.5多进程原理与用法实例分析
2019/04/05 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
2019/06/04 Python
详解mac python+selenium+Chrome 简单案例
2019/11/08 Python
python中提高pip install速度
2020/02/14 Python
区分python中的进程与线程
2020/08/13 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
让IE可以变相支持CSS3选择器
2010/01/21 HTML / CSS
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
日本PLST在线商店:日本时尚杂志刊载的人气服装
2016/12/10 全球购物
生物科学专业自荐书
2014/06/20 职场文书
2014年大学生村官工作总结
2014/11/19 职场文书
2015年大学班长个人工作总结
2015/04/24 职场文书
解决Golang中goroutine执行速度的问题
2021/05/02 Golang
K8s部署发布Golang应用程序的实现方法
2021/07/16 Golang
mysql脏页是什么
2021/07/26 MySQL