Dis que j'ai une chaîne en PHP, qui imprime un fichier texte comme celui-ci:
nö§9q1fª £
Comment puis-je obtenir les codes d'octets de cela à mon fichier texte plutôt que les caractères géniaux ASCII?
Utilisez la fonction ORR
par exemple.
<?php
$var = "nÖ§9q1Fª£ˆæÓ§Œ_»—Ló]j";
for($i = 0; $i < strlen($var); $i++)
{
echo ord($var[$i])."<br/>";
}
?>
Si vous souhaitez obtenir la chaîne en tant que tableau de codes d'entier, il y a une belle doublure:
unpack('C*', $string)
Méfiez-vous, la matrice résultante est indexée de 1, pas de 0!
Si vous parlez de la valeur hexagonale, cela devrait faire pour vous:
$value = unpack('H*', "Stack");
echo $value[1];
Ord()
Le truc avec une asci-charset. Si vous vous mêlez de chaises multibytes (comme UTF-8), vous n'avez pas de chance et avez besoin de la pirater vous-même.