本文实例讲述了PHP实现UTF8二进制及明文字符串的转化功能。分享给大家供大家参考,具体如下:
<?php/***********本程序由云客编写。有空的时候承接php软件开发*满足一下新手们的好奇心,看看UTF-8的二进制是什么样子滴****************************/define("b", "<br>");$a = "FE";$a1 = "FF";$s = 16;$e = 2;echo $s . "进制的" . $a . "表示为" . $e . "进制是" . base_convert($a, $s, $e) . b;echo $s . "进制的" . $a1 . "表示为" . $e . "进制是" . base_convert($a1, $s, $e) . b;$str = "计算机rr我们是谁?";$strlen = strlen($str);$n = 0;echo $str.'(二进制UTF-8表示):'.b;$str_bin='';while ($n < $strlen){ $t = ord($str[$n]); $stra=base_convert($t, 10, 2) ; if(strlen($stra)<8) { $stra="0".$stra; } $str_bin.=$stra; $n++;}echo $str_bin.b;//已经翻译为二进制了$str_bin="1110100010101110101000011110011110101110100101111110011010011100101110100110000101110011111001101000100010010001111001001011101110101100111001101001100010101111111010001011000010000001111011111011110010011111"; //在此输入二进制,程序编码为明文输出$chr='';$str='';for($i=0;$i<strlen($str_bin);$i++){ $chr.=$str_bin[$i]; if(($i+1)%8==0) { $str.=chr(base_convert($chr, 2, 10)); $chr=NULL; }}echo $str;//二进制的UTF8原代码明文?>
运行结果:
16进制的FE表示为2进制是1111111016进制的FF表示为2进制是11111111计算机rr我们是谁?(二进制UTF-8表示):1110100010101110101000011110011110101110100101111110011010011100101110100111001001110010111001101000100010010001111001001011101110101100111001101001100010101111111010001011000010000001111011111011110010011111计算机as我们是谁?
希望本文所述对大家PHP程序设计有所帮助。
新闻热点
疑难解答
图片精选