2 votes

Décompression d'un champ de bits en php ?

Est-ce que c'est possible ? En fait, j'ai une application c++ qui envoie des entiers 32 bits emballés à un serveur web. Le fichier php interroge le serveur web et récupère un fichier xml contenant toutes ces données emballées. Connaître le format de ces données emballées n'est pas un problème, mais comment puis-je les rendre utilisables ?

les données sont composées de différents types. certaines seront des bits simples, d'autres seront 8 ou 16 selon ce qu'elles stockent.

toute information sur ce sujet serait grandement appréciée. merci !

3voto

Olli Etuaho Points 246

PHP supporte les opérateurs binaires : http://php.net/manual/en/language.operators.bitwise.php

Donc, une fois que vous avez une variable entière avec les données empaquetées en PHP, il suffit de l'ajouter en bits avec un masque de bits, et vous obtenez le champ que vous voulez. Comme ceci :

$myInteger = 5;                              // bit representation 101
$leastMeaningfulBit = $myInteger & (1 << 0); // sets $leastMeaningfulBit to 1.
$secondBit = $myInteger & (1 << 1);          // sets $secondBit to 0.
$thirdBit = $myInteger & (1 << 2);           // sets $thirdBit to 1.

etc.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X