php ASCII码怎么转为字符串
墨初 编程开发 521阅读
利用php脚本代码将ascii码转为字符串,首先想到的就是利用php的内置函数 chr() ,此函数无需额外的去定义它,直接调用即可,它可以将ascii码转为与之对应的字符。
php chr() 函数
chr():从指定的ASCII值返回对应的字符。
语法:
chr(ascii)
参数
参数 | 描述 |
---|---|
ascii | 必需。ASCII 值。 |
例:
echo chr(111); // o echo chr(052); // * echo chr(0x52); // R
php 将ASCII值转为字符串的方法
php chr() 函数一次只能将一个ascii码转为字符,如果想同时转换多个ascii值呢?下面自定义了一个函数,可以利用chr()函数来批量转换ASCII码。
(1)、自定义函数
/** * 将ascii码转为字符串 * @param type $str 要解码的字符串 * @param type $prefix 前缀,默认:&# * 73so.com * * @return string */ function decode($str, $prefix="&#") { $utf = null; $str = str_replace($prefix, "", $str); $a = explode(";", trim($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; }
(2)、调用上面的函数
$str = '73so.com'; echo decode($str); // 73so.com