rendered paste bodyFirst, lets say I have a value (of type long)
long value;
and I serialize it into a byte[]
serialized[0] = (byte)((value & 0xFF00000000000000L) >> 56);
serialized[1] = (byte)((value & 0x00FF000000000000L) >> 48);
serialized[2] = (byte)((value & 0x0000FF0000000000L) >> 40);
serialized[3] = (byte)((value & 0x000000FF00000000L) >> 32);
serialized[4] = (byte)((value & 0x00000000FF000000L) >> 24);
serialized[5] = (byte)((value & 0x0000000000FF0000L) >> 16);
serialized[6] = (byte)((value & 0x000000000000FF00L) >> 8);
serialized[7] = (byte)(value & 0x00000000000000FFL);
And then unserialize it again:
value2 = (long) (((serialized[0] & 0xFF) << 56) +
((serialized[1] & 0xFF) << 48) +
((serialized[2] & 0xFF) << 40) +
((serialized[3] & 0xFF) << 32) +
((serialized[4] & 0xFF) << 24) +
((serialized[5] & 0xFF) << 16) +
((serialized[6] & 0xFF) << 8) +
(serialized[7] & 0xFF));
But now value differs greatly from value2.. what is my mistake?