亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php如何實現轉換為二進制

發布時間:2020-09-01 15:38:09 來源:億速云 閱讀:328 作者:小新 欄目:編程語言

這篇文章主要介紹php如何實現轉換為二進制,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

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

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('陳');

以上是php如何實現轉換為二進制的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

哈巴河县| 福州市| 道孚县| 滨州市| 济源市| 叙永县| 荆州市| 饶阳县| 华蓥市| 上栗县| 开原市| 金阳县| 吴江市| 达州市| 新宾| 鹤壁市| 山丹县| 甘洛县| 游戏| 湄潭县| 泾川县| 兴和县| 大田县| 修文县| 历史| 涡阳县| 庆云县| 黄梅县| 辰溪县| 思茅市| 宜昌市| 资中县| 蓬溪县| 漯河市| 永城市| 上饶市| 长兴县| 肃北| 游戏| 镇雄县| 滁州市|