這篇文章主要介紹了PHP實現UTF8二進位及明文字串的轉化功能,涉及php進位及編碼轉換相關操作技巧,需要的朋友可以參考下
具體如下:
<?phpdefine("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 UTF8編碼內的繁簡轉換類
php utf8 一半亂碼的問題
PHP UTF8字元集內簡體和繁體互轉