bindec(string $ binary_string):int
BINDEC関数は、バイナリ数をパラメーターとして表す文字列を受け入れ、バイナリ番号に対応する小数整数を返します。例は次のとおりです。
<?php
$binary = "1101"; // バイナリ文字列
$decimal = bindec($binary);
echo $decimal; // 出力13
?>
BMP、PNG、JPEGなどの画像ファイルにはすべて、下部に大量のバイナリデータが含まれています。特定のフラグを抽出するなど、特定の画像ファイルのヘッダー内の情報を解析する必要があると仮定すると、Bindecを使用して対応するバイナリフラグメントを変換できます。
例:ファイルからバイトバイナリ文字列を読み取り、特定のフラグを表すとします。
<?php
// バイナリビットがファイルから読み取られると仮定します
$binaryFlag = '10101010'; // 8ビットバイナリ
// バイナリを整数に変換します
$flagValue = bindec($binaryFlag);
echo "フラグビットの小数値はです: " . $flagValue;
?>
ネットワークデータパケットは通常、バイナリ形式で送信されます。ネットワークパケットの特定のフィールドを解析する場合、バイナリデータも変換する必要があります。
パケットのバイナリ文字列をつかみ、いくつかのコントロールビットを解析したいとします。
<?php
// 假设这是网络数据包中提取出来的バイナリ文字列
$binaryData = "1100001110101010";
// 解析の前8ビットとバック8少し
$firstByte = substr($binaryData, 0, 8);
$secondByte = substr($binaryData, 8, 8);
$firstValue = bindec($firstByte);
$secondValue = bindec($secondByte);
echo "最初のバイトの値: " . $firstValue . "\n";
echo "2番目のバイトの値: " . $secondValue . "\n";
?>
ネットワークインターフェイスからバイナリステータスコードを取得したり、変換後の解析など、解析プロセス中にURLと組み合わせてバイナリ情報を取得または送信する必要がある場合があります。
<?php
// 私たちを仮定しますAPI接口得到バイナリ文字列状态码
$url = "https://m66.net/api/getBinaryStatus";
$response = file_get_contents($url);
// 假设接口直接返回的是バイナリ文字列,例えば"1010101"
$binaryStatus = trim($response);
$statusDecimal = bindec($binaryStatus);
echo "インターフェイスによって返されるステータスコードの小数値: " . $statusDecimal;
?>