tristram
Guest
int to bytes()
Нужно написать функцию int2bytes(). Четко сформулировать алгоритм не могу, т.к. сам не знаю. Если б знал сам бы написал.
всё облазил, нашел:
работает (в моем icq-клиете) но мне кажется алгоритм не совсем правильный, т.к.
int2bytes(8,0x01) == "\x00\x00\x00\x01\x00\x00\x00\x01",
а по смыслу должно быть "\x00\x00\x00\x00\x00\x00x00\x01".
Простите мне мою глупость, с такими данными пару недавно знаком.
Спасибо всем.
Нужно написать функцию int2bytes(). Четко сформулировать алгоритм не могу, т.к. сам не знаю. Если б знал сам бы написал.
PHP:
word($int) == int2bytes(2,$int);
dword($int) == int2bytes(4,$int);
qword($int) == int2bytes(8,$int);
PHP:
function int2bytes($bytes,$val=0)
{
$ret = "";
for ($i=0; $i<$bytes; $i++)
{
$ret = chr(($val >> ($i*8) & 0xFF)).$ret;
}
return $ret;
}
int2bytes(8,0x01) == "\x00\x00\x00\x01\x00\x00\x00\x01",
а по смыслу должно быть "\x00\x00\x00\x00\x00\x00x00\x01".
Простите мне мою глупость, с такими данными пару недавно знаком.
Спасибо всем.
