首页 > PHP

PHP ASCII码与字符串的相互转换的例子

jquery中文网为您提供PHP ASCII码与字符串的相互转换的例子等资源,欢迎您收藏本站,我们将为您提供最新的PHP ASCII码与字符串的相互转换的例子资源 ...

mj85源代码网为您提供PHP ASCII码与字符串的相互转换的例子等资源,欢迎您收藏本站,我们将为您提供最新的PHP ASCII码与字符串的相互转换的例子资源                                                                                                

                   

<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | PHP version 5                                                        |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2004 The PHP Group                                |
// +----------------------------------------------------------------------+
// | This source file is subject to version 3.0 of the PHP license,       |
// | that is bundled with this package in the file LICENSE, and is        |
// | available through the world-wide-web at the following url:           |
// | http://www.php.net/license/3_0.txt.                                  |
// | If you did not receive a copy of the PHP license and are unable to   |
// | obtain it through the world-wide-web, please send a note to          |
// | license@php.net so we can mail you a copy immediately.               |
// +----------------------------------------------------------------------+
// | Authors: Original Author <author@example.com>                        |
// |          Your Name <you@example.com>                                 |
// +----------------------------------------------------------------------+
//
// $Id:$

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{$a1}) - 128);
                $a = 2;
            } else if (ord($c{$a}) >= 224 && ord($c{$a}) <= 239) {
                $ud = (ord($c{$a}) - 224) * 4096(ord($c{$a1}) - 128) * 64(ord($c{$a2}) - 128);
                $a = 3;
            } else if (ord($c{$a}) >= 240 && ord($c{$a}) <= 247) {
                $ud = (ord($c{$a}) - 240) * 262144(ord($c{$a1}) - 128) * 4096(ord($c{$a2}) - 128) * 64(ord($c{$a3}) - 128);
                $a = 4;
            } else if (ord($c{$a}) >= 248 && ord($c{$a}) <= 251) {
                $ud = (ord($c{$a}) - 248) * 16777216(ord($c{$a1}) - 128) * 262144(ord($c{$a2}) - 128) * 4096(ord($c{$a3}) - 128) * 64(ord($c{$a4}) - 128);
                $a = 5;
            } else if (ord($c{$a}) >= 252 && ord($c{$a}) <= 253) {
                $ud = (ord($c{$a}) - 252) * 1073741824(ord($c{$a1}) - 128) * 16777216(ord($c{$a2}) - 128) * 262144(ord($c{$a3}) - 128) * 4096(ord($c{$a4}) - 128) * 64(ord($c{$a5}) - 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二次开发:<pre class="www.mj85.com");  echo "</xmp>";  echo $aa->decode($str);
                 ?>


本文由用户 【皮卡丘】 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。

转载本站原创文章,请注明出处,并保留原始链接、图片水印。

本站是一个以用户分享为主的开源技术平台,欢迎各类分享!

本文地址:http://www.mj85.com/php/3015.html

分享:

评论 [共0条评论]

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

您现面为匿名用户,暂不能发表评论。如想评论则请登录注册

相关内容

发布者

皮卡丘 发于:

19年/05月/29日 06时

查看次数: 283

标签 Tags

无标签

谁收藏了?

0人已收藏