public static long decodeLong(byte[] in, int off)
	{
		return (long) (in[off] & 0xFF)
			| ((long) (in[off + 1] & 0xFF) << 8)
			| ((long) (in[off + 2] & 0xFF) << 16)
			| ((long) (in[off + 3] & 0xFF) << 24)
			| ((long) (in[off + 4] & 0xFF) << 32)
			| ((long) (in[off + 5] & 0xFF) << 40)
			| ((long) (in[off + 6] & 0xFF) << 48)
			| ((long) (in[off + 7] & 0xFF) << 56);
	}
public static long decodeLong(byte[] in, int off)
	{
		return (long) (in[off] & 0xFF)
			| ((long) (in[off + 1] & 0xFF) << 8)
			| ((long) (in[off + 2] & 0xFF) << 16)
			| ((long) (in[off + 3] & 0xFF) << 24)
			| ((long) (in[off + 4] & 0xFF) << 32)
			| ((long) (in[off + 5] & 0xFF) << 40)
			| ((long) (in[off + 6] & 0xFF) << 48)
			| ((long) (in[off + 7] & 0xFF) << 56);
	}
public static long decodeLong ( byte [ ] in , int off ) { return ( long ) ( in [ off ] & 0xFF ) | ( ( long ) ( in [ off + 1 ] & 0xFF ) << 8 ) | ( ( long ) ( in [ off + 2 ] & 0xFF ) << 16 ) | ( ( long ) ( in [ off + 3 ] & 0xFF ) << 24 ) | ( ( long ) ( in [ off + 4 ] & 0xFF ) << 32 ) | ( ( long ) ( in [ off + 5 ] & 0xFF ) << 40 ) | ( ( long ) ( in [ off + 6 ] & 0xFF ) << 48 ) | ( ( long ) ( in [ off + 7 ] & 0xFF ) << 56 ) ; }
Decodes the first 8 bytes starting at {@code off} of the given array
into a {@code long} value using little-endian byte ordering
convention.

@param in the encoded value.
@param off the input offset.

@return the decoded {@code long} value.

@throws NullPointerException if {@code in} is {@code null}.
@throws IndexOutOfBoundsException if {@code off} is negative or if
{@code in}'s length is lower than {@code off + 8}.
Decodes the first 8 bytes starting at { @code off } of the given array into a { @code long } value using little - endian byte ordering convention .