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

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

PHP中文网
Release: 2017-03-30 13:13:10
Original
2083 people have browsed it

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

下文小编为各位来介绍一篇关于PHP ASCII码与字符串的相互转换的例子,希望php 批量ascii转字符串例子能够对各位有帮助。

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) {
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 转 ASCII
require_once "ascii_class.php";
*/
$aa = new ascii;
echo "

&quot;;&lt;/p&gt; &lt;p&gt;echo $str = $aa-&gt;encode(&quot;PHP二次开发:www.php2.cc&quot;);&lt;/p&gt; &lt;p&gt;echo &quot;";
 
echo $aa->decode($str);
?>
Copy after login

以上就是PHP ASCII码与字符串的相互转换的例子的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Related labels:
source:php.cn
Statement of this Website
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
Latest Articles by Author
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template