浅析PHP的ASCII码转换类


Posted in PHP onJuly 05, 2013
class ascii
{
function decode($str)
{
    preg_match_all( "/(d{2,5})/", $str,$a);
    $a = $a[0];
    foreach ($a as $dec)
    {
        if ($dec < 128)
        {
            $utf .= chr($dec);
        }
        else if ($dec < 2048)
       {
            $utf .= chr(192 + (($dec - ($dec % 64)) / 64));
            $utf .= chr(128 + ($dec % 64));
        }
        else
        {
            $utf .= chr(224 + (($dec - ($dec % 4096)) / 4096));
            $utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64));
            $utf .= chr(128 + ($dec % 64));
        }
    }
    return $utf;
}
function encode($c)
{
    $len = strlen($c);
    $a = 0;
    while ($a < $len)
    {
        $ud = 0;
        if (ord($c{$a}) >=0 && ord($c{$a})< =127)
        {
            $ud = ord($c{$a});
            $a += 1;
        }
        else if (ord($c{$a}) >=192 && ord($c{$a})< =223)
        {
            $ud = (ord($c{$a})-192)*64 + (ord($c{$a+1})-128);
            $a += 2;
        }
        else if (ord($c{$a}) >=224 && ord($c{$a})< =239)
        {
            $ud = (ord($c{$a})-224)*4096 + (ord($c{$a+1})-128)*64 + (ord($c{$a+2})-128);
            $a += 3;
        }
        else if (ord($c{$a}) >=240 && ord($c{$a})< =247)
        {
            $ud = (ord($c{$a})-240)*262144 + (ord($c{$a+1})-128)*4096 + (ord($c{$a+2})-128)*64 + (ord($c{$a+3})-128);
            $a += 4;
        }
        else if (ord($c{$a}) >=248 && ord($c{$a})< =251)
        {
            $ud = (ord($c{$a})-248)*16777216 + (ord($c{$a+1})-128)*262144 + (ord($c{$a+2})-128)*4096 + (ord($c{$a+3})-128)*64 + (ord($c{$a+4})-128);
            $a += 5;
        }
        else if (ord($c{$a}) >=252 && ord($c{$a})< =253)
        {
            $ud = (ord($c{$a})-252)*1073741824 + (ord($c{$a+1})-128)*16777216 + (ord($c{$a+2})-128)*262144 + (ord($c{$a+3})-128)*4096 + (ord($c{$a+4})-128)*64 + (ord($c{$a+5})-128);
            $a += 6;
        }
        else if (ord($c{$a}) >=254 && ord($c{$a})< =255)
        { //error
            $ud = false;
        }
        $scill .= "&#$ud;";
    }
    return $scill;
}
PHP 相关文章推荐
实现“上一页”和“下一页按钮
Oct 09 PHP
php 进度条实现代码
Mar 10 PHP
PHP将整个网站生成HTML纯静态网页的方法总结
Feb 05 PHP
利用PHP实现短域名互转
Jul 05 PHP
PHP实现HTTP断点续传的方法
Jun 17 PHP
PHP的PDO操作简单示例
Mar 30 PHP
PHP基于单例模式编写PDO类的方法
Sep 13 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
Oct 09 PHP
php文件包含目录配置open_basedir的使用与性能详解
Apr 03 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
Nov 07 PHP
php+croppic.js实现剪切上传图片功能
Aug 14 PHP
基于PHP实现邮箱验证激活过程详解
Oct 28 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
Jul 05 #PHP
PHP cdata 处理(详细介绍)
Jul 05 #PHP
PHP的基本常识小结
Jul 05 #PHP
深入解析fsockopen与pfsockopen的区别
Jul 05 #PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
Jul 05 #PHP
php中如何同时使用session和cookie来保存用户登录信息
Jul 05 #PHP
php记录代码执行时间(实现代码)
Jul 05 #PHP
You might like
推荐个功能齐全的发送PHP邮件类
2007/01/03 PHP
php通过function_exists检测函数是否存在的方法
2015/03/18 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
2020/05/29 PHP
基于jquery的防止大图片撑破页面的实现代码(立即缩放)
2011/10/24 Javascript
JavaScript:Div层拖动效果实例代码
2013/08/06 Javascript
JS网页在线获取鼠标坐标值的方法
2015/02/28 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
2017/02/26 Javascript
angular4自定义组件详解
2017/09/28 Javascript
在vue中,v-for的索引index在html中的使用方法
2018/03/06 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
JS判断两个数组或对象是否相同的方法示例
2019/02/28 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
vue+element实现图片上传及裁剪功能
2020/06/29 Javascript
详谈vue中router-link和传统a链接的区别
2020/07/22 Javascript
javascript canvas实现简易时钟例子
2020/09/05 Javascript
vue 获取元素额外生成的data-v-xxx操作
2020/09/09 Javascript
vue实现轮播图帧率播放
2021/01/26 Vue.js
[05:34]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY第二弹
2014/06/25 DOTA
[02:38]2018DOTA2亚洲邀请赛赛前采访-VGJ.T
2018/04/03 DOTA
[56:41]iG vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/17 DOTA
Python实现定时备份mysql数据库并把备份数据库邮件发送
2018/03/08 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
Django框架下静态模板的继承操作示例
2019/11/08 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
Django QuerySet查询集原理及代码实例
2020/06/13 Python
小学班干部竞选演讲稿
2014/04/24 职场文书
公司周年庆典策划方案
2014/05/17 职场文书
电气自动化求职信
2014/06/24 职场文书
保密工作目标责任书
2014/07/28 职场文书
国庆促销活动总结
2014/08/29 职场文书
大学生村官个人总结
2015/02/15 职场文书
学生乘坐校车安全责任书
2015/05/11 职场文书
范文之农村基层党建工作报告
2019/10/24 职场文书
CSS 文字装饰 text-decoration & text-emphasis 详解
2021/04/06 HTML / CSS
Python机器学习之底层实现KNN
2021/06/20 Python