本文實例講述了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進制是11111110 16進制的FF表示為2進制是11111111 計算機rr我們是誰?(二進制UTF-8表示): 1110100010101110101000011110011110101110100101111110011010011100101110100111001001110010111001101000100010010001111001001011101110101100111001101001100010101111111010001011000010000001111011111011110010011111 計算機as我們是誰?
PS:這里再為大家推薦幾款相關在線編碼轉換工具供大家參考使用:
UTF-8編碼轉換工具:
http://tools.jb51.net/transcoding/convutf
在線編碼轉換工具(utf-8/utf-32/Punycode/Base64):
http://tools.jb51.net/transcoding/decode_encode_tool
Native/UTF-8在線編碼轉換工具:
http://tools.jb51.net/transcoding/native2utf8
在線任意進制轉換工具:
http://tools.jb51.net/transcoding/hexconvert
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP編碼與轉碼操作技巧匯總》、《php面向對象程序設計入門教程》、《PHP數學運算技巧總結》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《PHP數據結構與算法教程》、《php程序設計算法總結》、《php正則表達式用法總結》、及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。