Page 1 sur 1

Récupérer des octets d'une variables

Posté : 18 janv. 2010, 15:38
par djwel : décimal
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

Re: Récupérer des octets d'une variables

Posté : 18 janv. 2010, 17:20
par dunbar
Salut,
number_format devrait t'aider je pense :wink:

Re: Récupérer des octets d'une variables

Posté : 19 janv. 2010, 12:15
par djwel : décimal
Bonjour,

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

++ Djwel

Re: Récupérer des octets d'une variables

Posté : 19 janv. 2010, 12:25
par Genova
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).

Re: Récupérer des octets d'une variables

Posté : 19 janv. 2010, 14:45
par stealth35
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 ?

Re: Récupérer des octets d'une variables

Posté : 13 mars 2010, 21:46
par tortukitu
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);

Re: Récupérer des octets d'une variables

Posté : 24 mars 2010, 14:32
par devlop78
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 ...