php ascii码怎么转字符
2022-12-02 09:01:16
83
{{single.collect_count}}

php ascii码转字符的方法:首先创建一个PHP示例文件;然后通过“function decode($str, $prefix="&#") {...}”方法将ascii码转为字符串即可。

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

php ascii码怎么转字符?

本文实例讲述了PHP实现ASCII码与字符串相互转换的方法。

分享给大家供大家参考,具体如下:

<?phpclass 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 "<xmp>";echo $str = $aa->encode("PHP编程:www.jb51.net");echo "</xmp>";echo $aa->decode($str);?>
登录后复制

推荐学习:《PHP视频教程

以上就是php ascii码怎么转字符的详细内容,更多请关注php中文网其它相关文章!

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}