1:
30:
31: package ;
32:
33:
38: public class LEByteAccessUtilities
39: {
40: private LEByteAccessUtilities()
41: {
42: }
43:
44: public static int readUShort (final byte[] data, final int pos)
45: {
46: return ((data[pos + 1] & 0xff) << 8) | (data[pos] & 0xff);
47: }
48:
49: public static long readULong (final byte[] data, final int pos)
50: {
51: final int c1 = (data[pos] & 0xff);
52: final int c2 = (data[pos + 1] & 0xff);
53: final int c3 = (data[pos + 2] & 0xff);
54: final int c4 = (data[pos + 3] & 0xff);
55:
56: long retval = ((long) c4 << 24);
57: retval |= (long)c3 << 16;
58: retval |= (long)c2 << 8;
59: retval |= (long)c1;
60: return retval;
61: }
62:
63: public static long readLongDateTime (final byte[] data, final int pos)
64: {
65: final int c1 = (data[pos] & 0xff);
66: final int c2 = (data[pos + 1] & 0xff);
67: final int c3 = (data[pos + 2] & 0xff);
68: final int c4 = (data[pos + 3] & 0xff);
69: final int c5 = (data[pos + 4] & 0xff);
70: final int c6 = (data[pos + 5] & 0xff);
71: final int c7 = (data[pos + 6] & 0xff);
72: final int c8 = (data[pos + 7] & 0xff);
73:
74: long retval = ((long) c8 << 56);
75: retval |= (long)c7 << 48;
76: retval |= (long)c6 << 40;
77: retval |= (long)c5 << 32;
78: retval |= (long)c4 << 24;
79: retval |= (long)c3 << 16;
80: retval |= (long)c2 << 8;
81: retval |= (long)c1;
82: return retval;
83: }
84:
85: public static short readShort (final byte[] data, final int pos)
86: {
87: return (short) ((data[pos + 1] & 0xff) << 8 | (data[pos] & 0xff));
88: }
89:
90: public static int readLong (final byte[] data, final int pos)
91: {
92: int retval = 0;
93: retval |= (long)(data[pos + 3] & 0xff) << 24;
94: retval |= (long)(data[pos + 2] & 0xff) << 16;
95: retval |= (long)(data[pos + 1] & 0xff) << 8;
96: retval |= (long)(data[pos ] & 0xff);
97: return retval;
98: }
99:
100: }