Home  >  Article  >  php教程  >  PHP ASCII码与字符串的相互转换

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

WBOY
WBOYOriginal
2016-06-13 08:55:02975browse

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

  $utf .= chr($dec);

  } else if ($dec

  $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

  $ud = 0;

  if (ord($c{$a}) >= 0 && ord($c{$a})

  $ud = ord($c{$a});

  $a += 1;

  } else if (ord($c{$a}) >= 192 && ord($c{$a})

  $ud = (ord($c{$a}) - 192) * 64 + (ord($c{$a + 1}) - 128);

  $a += 2;

  } else if (ord($c{$a}) >= 224 && ord($c{$a})

  $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})

  $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})

  $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})

  56 $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})

  $ud = false;

  }

  $scill .= $prefix.$ud.";";

  }

  return $scill;

  }

  }

  /*

  PHP 转 ASCII

  require_once "ascii_class.php";

  */

  $aa = new ascii;

  echo "

"; <p>  echo $str = $aa->encode("PHP二次开发:www.php2.cc");</p> <p>  echo "</p>";

  echo $aa->decode($str);

  ?>

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn