站長資訊網
最全最豐富的資訊網站

php轉換為二進制的實現方法

php轉換為二進制的實現方法:首先創建一個PHP示例文件;然后定義一個StrToBin方法;接著通過unpack方法解析字符串;最后通過“base_convert”函數轉換為二進制即可。

php轉換為二進制的實現方法

推薦:《PHP視頻教程》

PHP 字符串 與 二進制相互轉換

在網絡上查找到了字符串與二進制相互轉換的方法(相關問題描述和問題在下列代碼中,請耐心查看,謝謝):

/**  * 將字符串轉換成二進制  * @param type $str  * @return type  * php 中顯示的字符串是多少進制的?? * 例如:$str = '你好'; // 這邊的 '你好' 是什么進制數據(我知道他是字符串!)?? */   function StrToBin($str){       //1.列出每個字符     // 這邊的分割正則也不理解     // (?<!^) 后瞻消極斷言     // (?!$) 前瞻消極斷言     // 看意思好像說的是:不以^開頭(但是這邊 ^ 又沒有被轉義...),不以 $ 結尾(同上)     // 然后得到的記過就是字符串一個個被分割成了數組(郁悶)     // 求解釋     $arr = preg_split('/(?<!^)(?!$)/u', $str);       //2.unpack字符       foreach($arr as &$v){         /**          * unpack:將二進制字符串解包(英語原文:Unpack data from binary string)          * H: 英語描述原文:Hex string, high nibble first           * 這段代碼做了什么??          */         $temp = unpack('H*', $v); // 這邊被解析出來的字符串為什么是 16進制的??         $v = base_convert($temp[1], 16, 2);           unset($temp);       }          return join(' ',$arr);   }      /**  * 講二進制轉換成字符串  * @param type $str  * @return type  */   function BinToStr($str){       $arr = explode(' ', $str);       foreach($arr as &$v){           // 他做了什么??         $v = pack("H".strlen(base_convert($v, 2, 16)), base_convert($v, 2, 16));       }          return join('', $arr);   }      echo StrToBin("php二次開發:www.php2.cc");;   echo '<br/>';   echo BinToStr("1110000 1101000 1110000 111001001011101010001100 111001101010110010100001 111001011011110010000000 111001011000111110010001 111011111011110010011010 1110111 1110111 1110111 101110 1110000 1101000 1110000 110010 101110 1100011 1100011");

上述的函數是怎樣實現二進制和字符串的相互轉換的??

——-分隔符——-

關于 pack 和 unpack 我已經清楚了!順便分享下:

就用這邊例子,說說我理解到的部分:

pack用法:

// 二進制數字 => 二進制字符串 $bin_number = '這邊是二進制數字'; $hex = bin2hex($bin_number ); // 由于指定了 H(16進制,高位在前),所以第二個參數需要使 16 進制字字符串 // strlen($hex) 指定打包多少個 16 進制字符串 // 也可以使用 * 來自動識別 // 結果就是:二進制字符串了 $bin_str = pack('H' . strlen($hex) , $hex); <=> $dec = bindec($bin_number); $hex = dechex($dec); $bin_str = hex2bin($hex); unpack 用法: //  轉換作用:2進制字符串 => 16進制字符串 $str = unpack('H*' , '陳');  <=> $str = bin2hex('陳');

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
国产69精品久久久久妇女| 97久久精品人妻人人搡人人玩| 国产99精品一区二区三区免费 | 日韩视频在线免费观看| 国产综合精品在线| 午夜精品久久久久成人| 99re6这里有精品热视频| 久久伊人精品一区二区三区| 久久99久久99精品免观看不卡| 国产精品亚洲一区二区三区在线 | 国产在线国偷精品产拍| 精品国产精品国产| 国产精品美女一区二区三区 | 久久精品国产第一区二区| 亚洲精品和日本精品| 日本精品夜色视频一区二区| 久久亚洲日韩精品一区二区三区| 日韩精品一区二区午夜成人版| 国产高清在线精品免费软件| 9999国产精品欧美久久久久久| 黑巨人与欧美精品一区 | 国产亚洲精品精品国产亚洲综合| 国产精品亚洲mnbav网站| 国产精品亚洲高清一区二区| 国产精品偷窥熟女精品视频| 国产成人精品免费大全| 国产成人精品日本亚洲专区| 国产成人高清精品免费观看| 国产精品亚洲综合一区| 久久91精品综合国产首页| 久久噜噜久久久精品66| 国产亚洲精品线观看动态图| 成人精品视频一区二区三区不卡 | 伊人久久精品一区二区三区| 亚洲区日韩精品中文字幕| 欧亚精品一区三区免费| 青春草国产成人精品久久| 国产精品免费视频一区| 国产91精品久久久久999| 日韩视频在线精品视频免费观看 | 国产精品久久久福利|