Home  >  Article  >  Backend Development  >  Conversion between PHP ASCII code and string_PHP tutorial

Conversion between PHP ASCII code and string_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 09:44:08880browse

Conversion between PHP ASCII code and string

[Code]php code:

 

class ascii {

 /**

* Convert ascii code to string

* @param type $str The string to be decoded

* @param type $prefix prefix, default:&#

* @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;

 }

 /**

* Convert string to ascii code

* @param type $c The string to be encoded

* @param type $prefix prefix, default: &#

* @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) {

 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}) <= 255) { //error

 $ud = false;

 }

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

 }

return $scill;

 }

 }

 /*

 PHP to ASCII

require_once "ascii_class.php";

 */

$aa = new ascii;

echo "

";</p> <p> echo $str = $aa->encode("PHP secondary development: www.php2.cc");</p> <p> echo "";

echo $aa->decode($str);

 ?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1050525.htmlTechArticleMutual conversion between PHP ASCII code and string [code]php code: ?php class ascii { /** * Convert ascii code to string* @param type $str String to decode* @param type $prefix Prefix...
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