Récupérer des octets d'une variables

djwel : décimal
Invité n'ayant pas de compte PHPfrance

18 janv. 2010, 15:38

Bonjour à tous,

J'ai un problème de conversion et de récupération d'octets sur une variable.
Je m'explique:
1/ Je lit un fichier externe
2/ Je prend la partie du fichier qui m'intéresse => ��€
3/ Et voudrais le traduire en 3 entiers => 42 - 6 - 6

Pour ce faire, je voudrais le convertir en décimal. Déjà la je bloque...
Je c'est que les 2 premiers octets de la variables correspondent au premier entier , puis les 2 suivantes et encore les 2 d'après pour le deuxième entier et le troisième.

Ma question est donc, comment faire, pour récupérer des octets d'une chaine ? Et/ou comment convertir en décimal ?

Merci d'avance pour vos réponses.
++ Djwel

ViPHP
ViPHP | 2291 Messages

18 janv. 2010, 17:20

Salut,
number_format devrait t'aider je pense :wink:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

djwel : décimal
Invité n'ayant pas de compte PHPfrance

19 janv. 2010, 12:15

Bonjour,

Merci pour cette réponse rapide :)
Je regarde ça de suite.

++ Djwel

ViPHP
ViPHP | 928 Messages

19 janv. 2010, 12:25

number_format() ?? Je ne comprends pas pourquoi.

Regarde plutôt la fonction ord() qui te retourne la valeur ASCII d'un caractère (il faut donc lui passer les caractères un par un).

ViPHP
ViPHP | 5462 Messages

19 janv. 2010, 14:45

dans le fond c'est quoi ton probleme ? parce que la ca sent plus l'encodage qu'autre chose, qu'est ce que tu cherches a faire réelment ?

tortukitu
Invité n'ayant pas de compte PHPfrance

13 mars 2010, 21:46

Le sujet est un peux vieux, mais ça servira peut-être à quelqu'un:

la fonction qui va bien est unpack();

en l'occurence unpack('v3', $lachaine);

devlop78
Invité n'ayant pas de compte PHPfrance

24 mars 2010, 14:32

Avec ord() ce sera détourné de sa fonction mais globalement ca devrait te donner la valeur décimale de chaque octet. Donc si tu as "é", ça te renverra deux octets en UTF-8 car "é" prend deux octets en UTF-8 ...