Question

Dire que j'ai une chaîne en php, qui imprime dans un fichier texte comme celui-ci:

£ nÖ§9q1Fª

Comment puis-je obtenir les codes d'octets de ce à mon fichier texte plutôt que les caractères ascii géniaux?

Était-ce utile?

La solution

Utilisez la fonction ord

http://ca.php.net/ord

par exemple.

<?php
$var = "nÖ§9q1Fª£ˆæÓ§Œ_»—Ló]j";

for($i = 0; $i < strlen($var); $i++)
{
   echo ord($var[$i])."<br/>";
}
?>

Autres conseils

Si vous souhaitez obtenir la chaîne comme un tableau de codes entiers, il y a une belle one-liner:

unpack('C*', $string)

Prenez garde, le tableau résultant est indexé de 1, pas de 0!

Si vous parlez de la valeur hexadécimale, cela devrait faire pour vous:

$value = unpack('H*', "Stack");
echo $value[1];

Référence

Ord() le tour est joué avec un ASCII-charset. Si vous, cependant, mêlez chaînes multi-octets (comme UTF-8), vous êtes hors de la chance, et ont besoin de pirater vous-même.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top