2009-07-25 5 views
27

j'ai quelques codes ayant la \ x00 et \ x04codes hexadécimaux, qu'est-ce que cela signifie?Quel est le sens de x00 x04 en PHP

$str= implode("\x00", $var['message']); //line 1 
$id= $var['message'] . "\x04" . $id; //line 2 

ce qui se passera dans le ligne1 et ligne2 Je veux écrire ceci dans un fichier externe format binaire. Où puis-je obtenir toutes les informations de ce type?

Répondre

49

\x indique la notation hexadécimale. Voir: PHP strings

Jetez un oeil à un ASCII table pour voir ce que 0x00 et 0x04 représentent.

0x00 = NULL 
0x04 = EOT (End of transmission) 
7

\ x est un moyen d'indiquer que les deux caractères suivants représentent des chiffres hexadécimaux. Deux chiffres hexadécimaux (chacun de 4 bits) font un octet.

Si vous voulez savoir ce que la version décimale est, il faut multiplier le chiffre gauche par 16 et l'ajouter au chiffre droit, en gardant à l'esprit que « a » est 10, « b » est 11, etc.

Dans d'autres langages de programmation, un signe dollar ou la séquence 0x peut également être utilisé pour marquer des nombres hexadécimaux.


Les nombres peuvent représenter n'importe quoi. Parfois, ce sont des codes de contrôle. Vérifiez an ASCII table.

2

\ x04 est la fin de la transmission en ASCII. Cela tient dans la plupart des langages de type C.

+0

. Une table ASCII peut être utile ici. – Nosredna

+1

http://en.wikipedia.org/wiki/ASCII – Kawa

1

\xHH est une séquence d'échappement qui décrit l'octet avec la valeur hexadécimale.

Alors \x00 décrit l'octet avec la valeur 0, \x04 l'octet avec la valeur 4. Notez que cette séquence d'échappement est uniquement interpolée en double quoted strings.

Questions connexes