Cuál es el significado de x00, x04 en PHP


Tengo algunos códigos con el \x00 y \x04 códigos hexadecimales, - ¿qué significa?

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

Lo que sucederá en el line1 y line2 Quiero escribir estos en un archivo externo como formato binario.

Dónde obtengo toda la información como esta.

Author: coderex, 2009-07-25

5 answers

\x indica notación hexadecimal. Ver: cadenas PHP

Eche un vistazo a una tabla ASCII para ver qué representan 0x00 y 0x04.

0x00 = NULL
0x04 = EOT (End of transmission)
 52
Author: Philippe Gerber,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-25 19:24:44

\x es una forma de indicar que los dos caracteres siguientes representan dígitos hexadecimales. Dos dígitos hexadecimales (cada uno de ellos 4 bits) hacen un byte.

Si quieres saber cuál es la versión decimal, multiplica el número izquierdo por 16 y añádelo al número derecho, teniendo en cuenta que "a" es 10, "b" es 11, etc.

En otros lenguajes de programación, un signo de dólar o la secuencia 0x también se puede usar para marcar números hexadecimales.


Los números pueden representar cualquier cosa. A veces son códigos de control. Compruebe una tabla ASCII.

 8
Author: Nosredna,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-25 19:51:29

\x04 es el Final de la Transmisión en ASCII. Esto se sostiene en la mayoría de los lenguajes similares a C.

 2
Author: Kawa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-25 19:29:09

\xHH es una secuencia de escape que describe el byte con valor hexadecimal.

Así que \x00 describe el byte con el valor 0, \x04 el byte con el valor 4. Tenga en cuenta que esta secuencia de escape solo se interpola en cadenas entre comillas dobles.

 1
Author: Gumbo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-25 19:27:28
 1
Author: fresskoma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-25 19:29:55