全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

PHP实现ASCII码与字符串相互转换的方法

本文实例讲述了PHP实现ASCII码与字符串相互转换的方法。分享给大家供大家参考,具体如下:

<?php
class ascii {
  /**
   * 将ascii码转为字符串
   * @param type $str 要解码的字符串
   * @param type $prefix 前缀,默认:&#
   * @return type
   */
  function decode($str, $prefix="&#") {
    $str = str_replace($prefix, "", $str);
    $a = explode(";", $str);
    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;
  }
  /**
   * 将字符串转换为ascii码
   * @param type $c 要编码的字符串
   * @param type $prefix 前缀,默认:&#
   * @return string
   */
  function encode($c, $prefix="&#") {
    $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 .= $prefix.$ud.";";
    }
    return $scill;
  }
}
/*
 PHP 转 ASCII
 require_once "ascii_class.php";
*/
$aa = new ascii;
echo "<xmp>";
echo $str = $aa->encode("PHP编程:www.");
echo "</xmp>";
echo $aa->decode($str);
?>

PS:这里再为大家提供2款ASCII编码转换操作相关工具供大家参考使用:

Native/ASCII在线编码转换工具:
http://tools./transcoding/native2ascii

在线中文汉字/ASCII码/Unicode编码互相转换工具:
http://tools./transcoding/chinese2unicode

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP编码与转码操作技巧汇总》、《php面向对象程序设计入门教程》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》、及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。


# PHP  # ASCII码  # 字符串  # 转换  # 与ASCII码相关的C语言字符串操作函数  # 浅析易语言ascii(ASCII)转码  # 易语言比较两个文本ASCII码值大小  # python中ASCII码和字符的转换方法  # JS获取字符对应的ASCII码实例  # Python实现将16进制字符串转化为ascii字符的方法分析  # JAVA 中实现整句汉字拆分、转换为ASCII实例详解  # javascript ASCII和Hex互转的实现方法  # javascript十六进制数字和ASCII字符之间的转换方法  # C语言实现AT指令ASCII码的拼接处理流程  # 程序设计  # 操作技巧  # 转换工具  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 转换为  # 所述  # 面向对象  # 再为  # 讲述了  # 正则表达式  # chr  # utf  # foreach  # explode  # dec  # strlen 


相关文章: 头像制作网站在线制作软件,dw网页背景图像怎么设置?  如何选择服务器才能高效搭建专属网站?  魔方云NAT建站如何实现端口转发?  h5在线制作网站电脑版下载,h5网页制作软件?  广东专业制作网站有哪些,广东省能源集团有限公司官网?  广德云建站网站建设方案与建站流程优化指南  上海网站制作开发公司,上海买房比较好的网站有哪些?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  高防服务器租用如何选择配置与防御等级?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  Java解压缩zip - 解压缩多个文件或文件夹实例  建站主机选购指南:核心配置与性价比推荐解析  TestNG的testng.xml配置文件怎么写  香港服务器选型指南:免备案配置与高效建站方案解析  威客平台建站流程解析:高效搭建教程与设计优化方案  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  网站图片在线制作软件,怎么在图片上做链接?  七夕网站制作视频,七夕大促活动怎么报名?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  Swift开发中switch语句值绑定模式  网站app免费制作软件,能免费看各大网站视频的手机app?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  建站主机功能解析:服务器选择与快速搭建指南  在线制作视频的网站有哪些,电脑如何制作视频短片?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  建站VPS推荐:2025年高性能服务器配置指南  制作网站的基本流程,设计网站的软件是什么?  如何通过多用户协作模板快速搭建高效企业网站?  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  模具网站制作流程,如何找模具客户?  如何快速搭建支持数据库操作的智能建站平台?  如何通过主机屋免费建站教程十分钟搭建网站?  如何在阿里云通过域名搭建网站?  建站ABC备案流程中有哪些关键注意事项?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  如何在IIS中配置站点IP、端口及主机头?  如何通过cPanel快速搭建网站?  常州自助建站工具推荐:低成本搭建与模板选择技巧  如何通过FTP空间快速搭建安全高效网站?  ,购物网站怎么盈利呢?  平台云上自助建站如何快速打造专业网站?  如何配置支付宝与微信支付功能?  如何通过WDCP绑定主域名及创建子域名站点?  免费视频制作网站,更新又快又好的免费电影网站?  建站之星在线版空间:自助建站+智能模板一键生成方案  贸易公司网站制作流程,出口贸易网站设计怎么做?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。