Web Development Knowledge Base
| |
Sections :
RSS Feed You too, please publish your useful code snippets in any programming language : write an article ! Plateforme d'envoi de gros fichiers en ligne Dépannage site web Blog infogérance Hébergement e-mail |
Olivier Ligny - - 09/04/2008 - vue 9816 fois
str2hex() / hex2str() en PHP pour encoder/décoder du texte en hexadécimalVoici deux fonctions PHP pour encoder/décoder du texte en hexadécimal : function str2hex($string) { $hex = ""; for ($i = 0; $i < strlen($string); $i++) { $hex .= (strlen(dechex(ord($string[$i]))) < 2) ? "0" . dechex(ord($string[$i])) : dechex(ord($string[$i])); } return $hex; } function hex2str($hex) { $str = ''; for($i=0;$i < strlen($hex);$i+=2) { $str.=chr(hexdec(substr($hex,$i,2))); } return $str; }  Â
JP - 18/03/2011
la fonction hex2str n'est pas correcte, elle ne prend pas en compte le % ajouté dans str2hex, il faut remplacer la ligne :for($i=0;$i < strlen($hex);$i+=2) { par for($i=1;$i < strlen($hex);$i+=3) {
Olivier - 18/03/2011
Pourquoi donc y aurait il un % ajouté dans str2hex ?
JP - 18/03/2011
autant pour moi, il n'y a pas de % ici. Mais pour info, dans la première fonction si on ajoute la ligne : $hex .= "%"; avant $hex .= (strlen(dechex(ord($string[$i]))) < 2) ? alors on obtient un résultat interpretable directement par un navigateur, ce qui est fort pratique pour la manipulation des upload de fichiers ;)
99sono - 07/01/2012
Ce q vous avez dit fait peut sense.Il est beaucoup plus itelligent de creer deux wrappers pour executer le encoding qui vous desirez. qui destruir ceux deux functions qui execute le comportment plus generique. |
Nos partenaires : iPhone 8 Cases & Protection |