php ASCII码怎么转为字符串
墨初 编程开发 961阅读
利用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