hi,欢迎访问本站!
当前位置: 首页编程开发正文

php ASCII码怎么转为字符串

墨初 编程开发 363阅读

利用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 = '&#55;&#51;&#115;&#111;&#46;&#99;&#111;&#109;';
echo decode($str);
// 73so.com
声明:无特别说明,转载请标明本文来源!
相关推荐