浅析PHP的ASCII码转换类
2023-06-13 09:15:03 时间
classascii
{
functiondecode($str)
{
preg_match_all("/(d{2,5})/",$str,$a);
$a=$a[0];
foreach($aas$dec)
{
if($dec<128)
{
$utf.=chr($dec);
}
elseif($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;
}
functionencode($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;
}
elseif(ord($c{$a})>=192&&ord($c{$a})<=223)
{
$ud=(ord($c{$a})-192)*64+(ord($c{$a+1})-128);
$a+=2;
}
elseif(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;
}
elseif(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;
}
elseif(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;
}
elseif(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;
}
elseif(ord($c{$a})>=254&&ord($c{$a})<=255)
{//error
$ud=false;
}
$scill.="$ud;";
}
return$scill;
}
相关文章
- PHP采集工具之Querylist
- window 安装多个 php
- php返回json格式的{}花括号
- PHP编译参数configure配置详解,以及php.ini说明
- 【php】Parse error: syntax error, unexpected ‘?’, expecting variable (T_VARIABLE)–PHP版本的问题
- PHP cURL 超时设置 CURLOPT_CONNECTTIMEOUT 和 CURLOPT_TIMEOUT 的区别
- PHP魔术常量与预定义常量
- Redis实战:PHP开发者必备技能(redis实战php)
- PHP与MySQL融合,尽享轻松开发(php与mysql整合)
- PHP服务器在Linux上的应用(php服务器linux)
- PHP与MySQL:搭建你的Web应用(php和mysql)
- php curl返回false解决方法详解编程语言
- 构建 php MySQL 后台管理系统(phpmysql管理)
- 函数Linux下禁用PHP函数的步骤(linux关闭php)
- PHP 操作 Redis:实现强大的数据存储 (php操作redis)
- PHP轻松构建高效应用——Redis实战指南(redis使用php)
- 实现PHP的Redis扩展安装(php安装redis扩展)
- PHP与MSSQL的结合:实现无缝连接(php调用mssql)
- Linux操作系统下的PHP编译器使用技巧(linux php编译器)
- PHP Redis实时监控系统的应用(php redis 监控)
- 从PHP到MSSQL:实现高效转换(php转换mssql)
- 使用PHP连接MSSQL数据库运行管道!(php mssql 管道)
- MSSQL 数据库在PHP中的登录实现(mssql登录php)
- Linux定时执行PHP脚本,提高效率(linux定时执行php)
- 记录PHP之MySQL踩坑:如何防止重复记录(php mysql 重复)
- PHP一些常用的正则表达式字符的一些转换
- PHP开发环境配置(ZendStudio)
- PHP通过iconv将字符串从GBK转换为UTF8字符集
- PHP中“简单工厂模式”实例代码讲解
- Apache下禁止php文件被直接访问的解决方案
- PHP代码保护--ZendGuard的使用详解
- php利用GD库生成缩略图示例
- php实现批量压缩图片文件大小的脚本
- php+xml结合Ajax实现点赞功能完整实例
- php中限制ip段访问、禁止ip提交表单的代码分享