Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2315 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Transformer une chaine contenant de l'hexa en hexa...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Transformer une chaine contenant de l'hexa en hexa...

n°459722
Tetedeienc​h
Head Of God
Posté le 16-07-2003 à 22:10:17  profilanswer
 

Bonjour !
 
j'ai une question assez étrange a vous poser.
 
Imaginons que vous ayiez une chaine du type :

Code :
  1. '3FE1349C1707ACF351F871153BEE4F0D15169EF5C642AB5187036A92E8F6C5DA8710CBAD464F933E4A2F1E19DF2FD5304CEB5A4CED104E952DF555C6DC1EBDF46802C258681D58F89E63AB57109E257042744C4742A7D96FB98FBA581697F931C0FF418976A9EE43BC3798C55310BD7F8C5F5E5DFC545668B6585375EF5F1909'


C'est joli c'est magnifique je suis d'acord ^^
 
Vous reperez tous que c'est de l'hexadécimal.
 
Comment faire  pour avoir une variable dont la valeur est la valeur hexadécimale de la chaine ?
 
Comment charger la valeur dans la chaine vers une variable quoi.
 
par exemple si j'ai une chaine dont la valeur est 'ff', comment avoir une variable dont la valeur en mémoire est FF ?
 
Merci d'avance...


Message édité par Tetedeiench le 16-07-2003 à 22:12:47
mood
Publicité
Posté le 16-07-2003 à 22:10:17  profilanswer
 

n°459727
THE REAL S​MILEY
The Real Résistance!
Posté le 16-07-2003 à 22:18:53  profilanswer
 

tetedeiench a écrit :

Bonjour !
 
j'ai une question assez étrange a vous poser.
 
Imaginons que vous ayiez une chaine du type :

Code :
  1. '3FE1349C1707ACF351F871153BEE4F0D15169EF5C642AB5187036A92E8F6C5DA8710CBAD464F933E4A2F1E19DF2FD5304CEB5A4CED104E952DF555C6DC1EBDF46802C258681D58F89E63AB57109E257042744C4742A7D96FB98FBA581697F931C0FF418976A9EE43BC3798C55310BD7F8C5F5E5DFC545668B6585375EF5F1909'


C'est joli c'est magnifique je suis d'acord ^^
 
Vous reperez tous que c'est de l'hexadécimal.
 
Comment faire  pour avoir une variable dont la valeur est la valeur hexadécimale de la chaine ?
 
Comment charger la valeur dans la chaine vers une variable quoi.
 
par exemple si j'ai une chaine dont la valeur est 'ff', comment avoir une variable dont la valeur en mémoire est FF ?
 
Merci d'avance...


La fonction base_convert() ne te permet pas de faire ça ?


---------------
༼ つ ◕_◕ ༽つ
n°459728
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-07-2003 à 22:18:57  profilanswer
 

Si jamais tu effaces ton topic une fois qu'il est résolu, comme tu as pris l'habitude de le faire, ce sera le dernier que tu posteras ici


---------------
J'ai un string dans l'array (Paris Hilton)
n°459730
THE REAL S​MILEY
The Real Résistance!
Posté le 16-07-2003 à 22:19:50  profilanswer
 

Harkonnen a écrit :

Si jamais tu effaces ton topic une fois qu'il est résolu, comme tu as pris l'habitude de le faire, ce sera le dernier que tu posteras ici  

:o


---------------
༼ つ ◕_◕ ༽つ
n°459732
Toucouch
Posté le 16-07-2003 à 22:23:14  profilanswer
 

Heu... Tu veux vraiment manipuler des nombres hexa de cette taille???
 
Tu veux faire quoi exactement?
 
Pour des chaînes courtes, tu peux peut-être essayer un bricolou du genre:

Code :
  1. $str = 'F8CD';
  2. eval ('$nbr=0x'.$str.';');

n°459736
daique
Posté le 16-07-2003 à 22:31:08  profilanswer
 

Harkonnen a écrit :

Si jamais tu effaces ton topic une fois qu'il est résolu, comme tu as pris l'habitude de le faire, ce sera le dernier que tu posteras ici  


 
Fallait pas le prévenir

n°459737
Tetedeienc​h
Head Of God
Posté le 16-07-2003 à 22:31:26  profilanswer
 

Toucouch a écrit :

Heu... Tu veux vraiment manipuler des nombres hexa de cette taille???
 
Tu veux faire quoi exactement?
 
Pour des chaînes courtes, tu peux peut-être essayer un bricolou du genre:

Code :
  1. $str = 'F8CD';
  2. eval ('$nbr=0x'.$str.';');




 
Oui j'en ai besoin ;)
 
J'essaie ton truc bien que je voie pas trop trop ce que ca fasse ;)

n°459739
Tetedeienc​h
Head Of God
Posté le 16-07-2003 à 22:34:00  profilanswer
 

OK tu le convertit en int apparamment. la valeur maximale que j'obtiens est 2147483647 .
 
Ca me conviens pas, vu la taille de la chaine que je doit avoir.
 
base_convert() converit les nombres de base x vers base x. mois je dois convertir une chaine représentant communément de l'hexadecimal vers une zoine mémoire :D


Message édité par Tetedeiench le 16-07-2003 à 22:36:09
n°459741
Mara's dad
Yes I can !
Posté le 16-07-2003 à 22:39:51  profilanswer
 

http://www.php.net/manual/en/function.hexdec.php
 
Mais tu va avoir un problème avec ton nombre gigantesque !
 
En fait c'est une chaîne que tu veux, non ?
 
En fait en php, tu peux écrire çà :
 

Code :
  1. $a = "\x50\x48\x50";


 
Et $a contient la chaîne "PHP".
 
Donc t'as juste à ajouter '\x'devant chaque nombre hexa.
 
Mais le coup du \x, c'est pour les valeurs littérales dans le code, donc si ta chaîne hexa est dans une variable, il faut passer par eval...
 
Ce qui donne :
 

<?php
 
$key = "3FE1349C1707ACF351F871153BEE4F0D15169EF5C642AB5187036A92E8F6C5DA8710CBAD464F933E4A2F1E19DF2FD5304CEB5A4CED104E952DF555C6DC1EBDF46802C258681D58F89E63AB57109E257042744C4742A7D96FB98FBA581697F931C0FF418976A9EE43BC3798C55310BD7F8C5F5E5DFC545668B6585375EF5F1909";
 
$hexKey = "";
 
for( $i = 0; $i < strlen( $key ); $i += 2 )
{
 eval( "\$num = \"\x" . substr( $key, $i, 2 ) . "\";" );
 $hexKey .= $num;
}
 
echo $hexKey;
 
?>


 
A+ :sol:


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°459748
Tetedeienc​h
Head Of God
Posté le 16-07-2003 à 22:45:29  profilanswer
 

Mara's dad, merci encore pour ton aide qui a été décidement tres rpécieuse aujourd'hui.
 
mais en allant voir sur google, j'ai trouvé ce bout de code qui marche parfaitement :

Code :
  1. function hex2bin($hexdata) {
  2.  
  3.   for ($i=0;$i<strlen($hexdata);$i+=2) {
  4.      $bindata.=chr(hexdec(substr($hexdata,$i,2)));
  5.   }
  6.  
  7.   return $bindata;
  8. }


 
je sais pas  ce  que ca fait, mais ca marche. Alors  moi y en a etre content :)
 
Merci !
 
PS : j'ai résolu mon prob de tout a l'heure ;) Bon je vais devoir payer mais spagrave :D

mood
Publicité
Posté le 16-07-2003 à 22:45:29  profilanswer
 

n°459749
Mara's dad
Yes I can !
Posté le 16-07-2003 à 22:47:38  profilanswer
 

tetedeiench a écrit :

Mara's dad, merci encore pour ton aide qui a été décidement tres rpécieuse aujourd'hui.
 
mais en allant voir sur google, j'ai trouvé ce bout de code qui marche parfaitement :

Code :
  1. function hex2bin($hexdata) {
  2.  
  3.   for ($i=0;$i<strlen($hexdata);$i+=2) {
  4.      $bindata.=chr(hexdec(substr($hexdata,$i,2)));
  5.   }
  6.  
  7.   return $bindata;
  8. }


C'était ma première idée, mais j'ai trouvé le coup du eval() plus joli !
 
je sais pas  ce  que ca fait, mais ca marche. Alors  moi y en a etre content :)
 
Merci !
 
PS : j'ai résolu mon prob de tout a l'heure ;) Bon je vais devoir payer mais spagrave :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°459750
Tetedeienc​h
Head Of God
Posté le 16-07-2003 à 22:48:37  profilanswer
 

Le eval est plus efficace que le coup que j'ai trouvé ou pas ?
 
Je te dis si ton code marche de  suite :D

n°459752
Tetedeienc​h
Head Of God
Posté le 16-07-2003 à 22:49:46  profilanswer
 

Ouiche les deux marchent nickel :D

n°459753
Mara's dad
Yes I can !
Posté le 16-07-2003 à 22:50:36  profilanswer
 

tetedeiench a écrit :

Ouiche les deux marchent nickel :D


Ca je le sait !
http://www.surleau.org/demo/ascii.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°459755
Tetedeienc​h
Head Of God
Posté le 16-07-2003 à 22:51:23  profilanswer
 


 
Chapo en tout cas vu la rapidité de la réponse.

n°459775
schnapsman​n
Zaford Beeblefect
Posté le 16-07-2003 à 23:09:15  profilanswer
 

tetedeiench a écrit :


 
Chapo en tout cas vu la rapidité de la réponse.


 
fait gaffe maintenant, n'effaces pas ce topic  [:boidleau]


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°459787
Toucouch
Posté le 16-07-2003 à 23:47:33  profilanswer
 

tetedeiench a écrit :

Mara's dad, merci encore pour ton aide qui a été décidement tres rpécieuse aujourd'hui.
 
mais en allant voir sur google, j'ai trouvé ce bout de code qui marche parfaitement :

Code :
  1. function hex2bin($hexdata) {
  2.  
  3.   for ($i=0;$i<strlen($hexdata);$i+=2) {
  4.      $bindata.=chr(hexdec(substr($hexdata,$i,2)));
  5.   }
  6.  
  7.   return $bindata;
  8. }


 
je sais pas  ce  que ca fait, mais ca marche. Alors  moi y en a etre content :)
 
Merci !
 
PS : j'ai résolu mon prob de tout a l'heure ;) Bon je vais devoir payer mais spagrave :D


Ok! Je crois avoir compris ce que tu cherchais exactement... En gros tu veux faire une sorte d'éditeur héxadécimal pour éditer des binaires... C'est le concept de nombre streumique qui m'interpellait... En fait, tu ne veux pas faire d'opérations sur ton nombre...

n°459801
Mara's dad
Yes I can !
Posté le 17-07-2003 à 00:09:51  profilanswer
 

Nan :sol:, sa chaîne hexa, c'est une clef publique RSA...
http://forum.hardware.fr/forum2.ph [...] 477&cat=10


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°459805
Toucouch
Posté le 17-07-2003 à 00:13:06  profilanswer
 

Mara's dad a écrit :

Nan :sol:, sa chaîne hexa, c'est une clef publique RSA...
http://forum.hardware.fr/forum2.ph [...] 477&cat=10


Ah, ok... Et cette clef doit être stockée sous forme de fichier?

n°459806
Mara's dad
Yes I can !
Posté le 17-07-2003 à 00:14:02  profilanswer
 

Toucouch a écrit :


Ah, ok... Et cette clef doit être stockée sous forme de fichier?


Sercret d'état :(


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°459809
Toucouch
Posté le 17-07-2003 à 00:19:20  profilanswer
 

Mara's dad a écrit :


Sercret d'état :(  


Ben nan, si c'est une clef publique... :sarcastic:

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Transformer une chaine contenant de l'hexa en hexa...

 

Sujets relatifs
[PHP] LOAD DATA > ça marche sous Phpmyadmin mais pas ... (resolu)[ASP=>PHP] transcrire ce code de l asp en php
[PHP] import d'un fichier texte: les caractères spéciaux (resolu)remplacement dans une chaine?
[ Php ] problème sur parsage de mailPeut on definir en constante des tableaux en PHP ?
[PHP] Moyenne d'une série de notesConcaténer nom de variable et chaine de caract. dans une requête MYSQL
[PHP]Stats sur une page :)XXHTML 1.1strict & liens contenant plusieurs variables.
Plus de sujets relatifs à : [PHP] Transformer une chaine contenant de l'hexa en hexa...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR