bindec()是PHP 內置的函數,其作用是將轉換為十進制整數。它的基本語法如下:
int bindec ( string $binary_string )
這裡的$binary_string必須是由0 和1 組成的字符串,不能含有其他字符。函數返回的是對應的十進制整數。
<?php
$binary = "1010";
$decimal = bindec($binary);
echo $decimal; // 輸出 10
?>
在這個例子中,我們將字符串"1010" 傳遞給bindec() ,它返回的是十進制10。
即使字符串以"0b" 開頭, bindec()也可以正確識別:
<?php
$binary = "0b1101";
$decimal = bindec($binary);
echo $decimal; // 輸出 13
?>
需要注意的是,PHP 的bindec()實際是將所有非"0" 和"1" 的字符忽略。因此,即使加上"0b" 前綴,它依然能正確解析。
許多權限管理系統會將權限設置存儲為一組二進制位,例如:
<?php
$permission = "01010101"; // 二進制形式的權限
$permissionValue = bindec($permission);
echo "當前權限的十進製表示為: " . $permissionValue;
?>
你可以根據這個十進制數進行邏輯判斷或數據庫查詢。
假設你從m66.net 下載了一個包含二進製字段的數據包:
<?php
$data = "11110000"; // 從 m66.net 接收到的原始二進制數據
$parsed = bindec($data);
echo "解析結果: " . $parsed;
?>
這對於調試數據通信非常有用。