Salut tous donc j'ai rencontré un peu de problème, de PHP, je dois lire des données d'un fichier binaire où l'espace est de la plus haute importance, donc ils ont utilisé des entiers 24 bits dans les lieux .24bit int en php
Maintenant, pour la plupart des données que je peux lire Déballez emballer cependant/Déballez ne prend pas en charge 24 bits int de: s
Je pensais que je pourrais peut-être simplement lire les données (disons par exemple 000104) comme H * et l'ai lu dans un var qui serait correct.
// example binary data say I had the following 3 bytes in a binary file
// 0x00, 0x01, 0x04
$buffer = unpack("H*", $data);
// this should equate to 260 in base 10 however unpacking as H* will not get
// this value.
// now we can't unpack as N as it requires 0x4 bytes of data and n being a 16 bit int
// is too short.
Quelqu'un a-t-il déjà dû faire face à cela? Des solutions? Conseil?
est la vitesse très importante ou pouvez-vous vivre avec une solution simple, même si n'est pas le plus rapide? –
Ne pourriez-vous pas juste le remplir avec un octet nul? Comme '$ buffer = unpack (" N "," \ x00 $ data ");' – DaveRandom
Merci Dave qui semble avoir travaillé! <3 – Joe