Hi, ive been working on porting some php code to c# and have hit an error....
the number two when encoded by the php pack() funditon to a double doesnt get read correctly by c# or im doing it wrong.

eg.
the number 1 gets packed and has the byte representation
63 240 0 0 0 0 0 0

8 byte representation.

the string that contains it contains "?ð "
i get 63 240 0 0 0 0 0 0 as the ascii codes when reading em byte by byte and typecasting to an int.

reading the 8 bytes using the BinaryReader.readDouble()

gives me 3.16202013338398E-322

BinaryReader.ReadUInt64(); gives 64

BinaryReader.ReadInt64(); gives 64

the number was encoded on a windows machine and is being read on a windows machine so the byte ordering should be the same.

the php documentation says using the "d" flag with the pack function gives a "d double (machine dependent size and representation) " the function is the same as the pack function in perl.

the number is packed using pack("d", $value) & unpacked using same flag....

1 = 63 240 0 0 0 0 0 0
2 = 64 0 0 0 0 0 0 0
3 = 64 8 0 0 0 0 0 0
4 = 64 16 0 0 0 0 0 0

i just cant seem to convert a string with those as the char code for each byte into the correct double.

any help would be great cause ive spent a week on this... ive got everything else working except for this which makes all the work ive put in useless...

if i know the algo to read and cant convert a double to the same format and that would be perfect...

is there something im not doing right?

thanks...
nik