[RESOLU] Hexa => Binaire incomplet

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Hexa => Binaire incomplet

Re: Hexa => Binaire incomplet

par tesmet » 28 janv. 2019, 15:08

sprintf sait faire du binaire avec b
$hexa = '01';
echo sprintf('%08b', hexdec($hexa)); // 00000001

Re: Hexa => Binaire incomplet

par ImaginWeb » 28 janv. 2019, 15:00

Voilà la solution la moins pire ;-)
//Détails des contacts
$details = $data[20].$data[21];
$detailsbin = base_convert($details, 16, 2);

//Si moins de 8 digits, ajout de 0 et inversion
if (strlen($detailsbin) < 8) {
$binaire = sprintf("%08d", $detailsbin);
$detailsio = strrev ($binaire);
}
else {
$detailsio = $detailsbin;
}

Re: Hexa => Binaire incomplet

par @rthur » 28 janv. 2019, 12:45

Regarde peut être ce commentaire de la doc :
http://php.net/manual/fr/function.base- ... .php#42002

Il ne fait pas la même conversion que toi mais il est tombé j'ai l'impression sur le même cas qu'il contourne notamment avec str_pad() pour compléter avec des zéros, peut être que tu peux t'inspirer de son code.

Hexa => Binaire incomplet

par ImaginWeb » 28 janv. 2019, 12:24

Bonjour,

Je dois décoder une trame hexa en la passant en binaire (j'utilise base_convert $hex,16,2)...

Quelques exemples (HEX / BIN avec base convert / Binaire à obtenir) :
01 / 1 / 10 00 00 00
02 / 10 / 01 00 00 00
07 / 11 1 / 11 10 00 00
0E / 11 10 / 01 11 00 00
08 / 10 00 / 00 01 00 00
13 / 10 02 1 / 11 00 10 00
9C / 10 01 11 00 => Ok

Le problème est que si le résultat binaire ne comporte pas 8 digits je dois le lire à l'envers et compléter par des zéros... mais si le résultat "est complet" il faut le lire dans l'ordre... c'est un peu casse-tête...

Est-ce qu'il existe une fonction php pour transformer un hexa en "binaire complet" ? J'ai fait pas mal de recherche, avant de lancer une usine à gaz, je me disais que peut-être quelques idées viendrait d'ici.

Excellente semaine à tous,

A. Lits