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

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP实现ASCII码与字符串相互转换的方法脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP实现ASCII码与字符串相互转换方法分享给大家供大家参考,具体如下:

<PRe class="brush:PHp;"> <>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 < 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)="" {="" $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 ""; echo $str = $aa->encode("www.js-code<a href="http://www.js-code.com/tag/COM/" target="_blank" class="keywords">.COM</a>"); echo ""; echo $aa->decode($str); ?>

脚本宝典总结

以上是脚本宝典为你收集整理的PHP实现ASCII码与字符串相互转换的方法全部内容,希望文章能够帮你解决PHP实现ASCII码与字符串相互转换的方法所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。