Qu'est-ce que b''
("chaîne binaire") signifie dans l'instruction PHP $str=b'xxxxxx';
?
Réponses
Trop de publicités?Le PHP référence linguistique décrit la distinction entre les chaînes unicode et les chaînes binaires natives, désignées par b 'ceci est une chaîne binaire'.
Il n'a pas semblent être une méthode de représentation des nombres binaires.
La notation "est disponible depuis PHP 5.2.1. Cependant, elle n'aura d'effet qu'à partir de PHP 6.0.0".
Les chaînes binaires ont été introduites en PHP 5.2.1 mais ne devaient être effectives qu'à partir de PHP 6. C'était une tentative de distinguer les chaînes Unicode des chaînes binaires. Le premier étant le nouveau format de chaîne, le second étant le format actuel mais changé en notation "b".
Comme vous le savez peut-être, PHP 6 a été abandonné et le format des chaînes de caractères n'a pas changé. La notation "b" est juste une relique de cette époque.
'foobar' === b'foobar'; // true
De nos jours (PHP 5 et 7), la chaîne binaire est le seul format de chaîne. L'encodage des caractères (qui peuvent être multi-octets) est géré au "niveau supérieur", par votre éditeur de texte, votre navigateur web, etc. Vous pouvez considérer qu'une chaîne binaire est une chaîne constituée de la gamme complète des valeurs d'octets 0-255.
Une chaîne de caractères non imprimables peut être manipulée en PHP comme n'importe quelle autre chaîne de caractères, mais vous obtiendrez des erreurs d'affichage. De plus, certains caractères ont une signification particulière : \0
marque la terminaison des chaînes en C et en SQL, il y a des caractères de contrôle, etc. Ainsi, dès que vous les utilisez en dehors de PHP, vous risquez de rencontrer des problèmes.
Par exemple, random_bytes()
produit de telles chaînes.
$number = decbin(59);
echo $number . "\n"; //111011
$number = bindec($number);
echo $number . "\n"; //59
decbin(int $number) : Renvoie une chaîne contenant une représentation binaire de l'argument numérique donné.
bindec(chaîne $bstring) : Renvoie l'équivalent décimal du nombre binaire dans l'argument bstring.