En PHP, lors du traitement des chaînes binaires, vous rencontrez souvent la nécessité d'extraire ou de modifier certains bits. La fonction Bindec () peut convertir les chaînes binaires en entiers décimaux, tandis que la fonction substr () peut nous aider à intercepter une partie de la chaîne. L'utilisation des deux ensemble permet des opérations de niveau bit sur les chaînes binaires.
bindec (String $ binary_string): int
Convertissez une représentation binaire d'une chaîne en un entier décimal. Par exemple: BINSEC ('101') Renvoie 5.
substr (string $ string, int $ start, int $ length = null): chaîne
Coupez une sous-chaîne d'une chaîne. Par exemple: substr («101101», 2, 3) renvoie «110» .
Supposons qu'il y ait une chaîne binaire que vous souhaitez extraire un numéro binaire 4 bits à partir du bit 3, puis le convertir en décimal.
<?php
$binaryString = "1101011011"; // Chaîne binaire originale
// utiliser substr Intercepter de l'index 2 La longueur de début est 4 Sous-chaînes de(Notez l'index de0commencer)
$subBinary = substr($binaryString, 2, 4); // "0101"
// utiliser bindec Convertir la corde binaire interceptée en décimal
$decimalValue = bindec($subBinary);
echo "Sous-chaîne binaire: " . $subBinary . "\n"; // Sortir: 0101
echo "La valeur décimale correspondante: " . $decimalValue . "\n"; // Sortir: 5
?>
substr ($ binarystring, 2, 4) : à partir du troisième caractère de la chaîne d'origine (l'index compte à partir de 0), la longueur est de 4 et obtient "0101" .
bindec ("0101") : convertir "0101" en décimal 5.
En plus de l'extraction, vous pouvez également modifier un certain peu de chaîne binaire:
<?php
$binaryString = "1101011011";
// Volonté5Peu(L'indice est4)Passer à1
$pos = 4;
$newBit = '1';
// Modifier la chaîne
$binaryString = substr_replace($binaryString, $newBit, $pos, 1);
echo "Chaîne binaire modifiée: " . $binaryString . "\n";
?>
En combinant les fonctions de conversion de substr () et d'intercepter les fonctions de conversion, les chaînes binaires peuvent être facilement extraites et converties au niveau du bit, et d'autres fonctions de fonctionnement de la chaîne peuvent même réaliser un traitement de données binaire plus complexe.