Hi

I am having some problems with the 'pack' function. Some values just 
doesnt come out right. For instance, 0xa0 turns into x81a0.

Here is some code I used for testing. It packs the value, prints it. 
Then unpacks the value and prints it

# This is wrong, but note that unpack gives the correct value!
$v = 0xa0;
$x = pack ("n", $v);
echo $x . "***"; # 33184 (0x0081a0)
$y = unpack ("nfoo", $x);
echo $y["foo"] . "**";  # 160 (0xa0)

# These guys are ok
$v = 0x9;
$x = pack ("n", $v);
echo $x . "***"; # 9 (0x0009)
$y = unpack ("nfoo", $x);
echo $y["foo"] . "**";  # 9 (0x0009)

$v = 0x100;
$x = pack ("n", $v);
echo $x . "***"; # 256 (0x0100)
$y = unpack ("nfoo", $x);
echo $y["foo"] . "**";  # 256 (0x0100)

Any ideas?


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to