bindec (String $ binary_string): int
La fonction Bindec accepte une chaîne représentant un nombre binaire en tant que paramètre et renvoie l'entier décimal correspondant au nombre binaire. Les exemples sont les suivants:
<?php
$binary = "1101"; // Corde binaire
$decimal = bindec($binary);
echo $decimal; // Sortir13
?>
Les fichiers d'image tels que BMP, PNG, JPEG, etc. contiennent tous une grande quantité de données binaires en bas. Supposons que vous ayez besoin d'analyser les informations dans l'en-tête d'un certain fichier image, comme l'extraction de certains drapeaux, Bindec peut être utilisé pour convertir le fragment binaire correspondant.
Exemple: Supposons que nous lisons une chaîne binaire d'octets à partir du fichier pour représenter un certain drapeau:
<?php
// Supposons que les bits binaires sont lus à partir du fichier
$binaryFlag = '10101010'; // 8Bit binaire
// Convertir le binaire en entier
$flagValue = bindec($binaryFlag);
echo "La valeur décimale du bit du drapeau est: " . $flagValue;
?>
Les paquets de données réseau sont généralement transmis sous forme binaire. Lors de l'analyse de certains champs de paquets de réseau, les données binaires doivent également être converties.
Supposons que nous prenions une chaîne binaire d'un paquet et que nous voulions analyser quelques bits de contrôle:
<?php
// 假设这是网络数据包中提取出来的Corde binaire
$binaryData = "1100001110101010";
// Avant l'analyse8mordre et dos8Peu
$firstByte = substr($binaryData, 0, 8);
$secondByte = substr($binaryData, 8, 8);
$firstValue = bindec($firstByte);
$secondValue = bindec($secondByte);
echo "La valeur du premier octet: " . $firstValue . "\n";
echo "La valeur du deuxième octet: " . $secondValue . "\n";
?>
Parfois, il est nécessaire d'obtenir ou d'envoyer des informations binaires en combinaison avec des URL pendant le processus d'analyse, comme l'obtention de codes d'état binaire à partir de l'interface réseau et l'analyse après la conversion.
<?php
// Supposons que nousAPI接口得到Corde binaire状态码
$url = "https://m66.net/api/getBinaryStatus";
$response = file_get_contents($url);
// 假设接口直接返回的是Corde binaire,Par exemple"1010101"
$binaryStatus = trim($response);
$statusDecimal = bindec($binaryStatus);
echo "La valeur décimale du code d'état renvoyé par l'interface: " . $statusDecimal;
?>
La fonction Bindec ne peut convertir que des chaînes binaires pures (composées de 0 et 1), sinon elle reviendra 0.
Lors du traitement des données binaires, vous devez généralement convertir les octets en chaînes binaires en premier, et vous pouvez utiliser la fonction decbin pour aider à déboguer.
Les données binaires se trouvent généralement au format de flux d'octets. Il est recommandé d'utiliser unback () ou des fonctions similaires pour le convertir en nombre d'abord, puis le convertir en chaînes binaires pour le traitement.