• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 3年前 (2022-01-22) 14次浏览 已收录 0个评论

这篇文章主要介绍了PHP实现ASCII码与字符串相互转换的方法,涉及php字符串的遍历、替换、编码转换等相关操作技巧,需要的朋友可以参考下

具体如下:

<?phpclass 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 &&a<i style="color:transparent">本文来源gaodai$ma#com搞$$代**码)网8</i><strong>搞代gaodaima码</strong>mp; 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.gaodaima.com");echo "</xmp>";echo $aa->decode($str);?>

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关推荐:

php实例分享之实现显示网站运行时间_javascript技巧

实现网页页面跳转的几种方法(meta标签、js实现、php实现)_基础知识

教你如何使用PHP输出中文JSON字符串_json

以上就是PHP实现ASCII码与字符串相互转换的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP实现ASCII码与字符串相互转换

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址