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 "두 번째 바이트의 값: " . $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;
?>