web-dev-qa-db-fra.com

Comment puis-je obtenir les valeurs d'octets d'une chaîne en PHP?

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?

26
lynn

Utilisez la fonction ORR

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/>";
}
?>
26
Gautam

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!

19
Roman Hocke

Si vous parlez de la valeur hexagonale, cela devrait faire pour vous:

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

Référence

4
Adee

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.

3
Henrik Paul