| Code highlighting produced by Actipro CodeHighlighter (freeware) | 
| http://www.CodeHighlighter.com/ | 
 | 
| -->/** | 
|      * 逆转字节数组 | 
|      *  | 
|      * @param b | 
|      * @return | 
|      */ | 
|     private static byte[] reverse(byte[] b) { | 
 | 
|         byte[] temp = new byte[b.length]; | 
|         for (int i = 0; i < b.length; i++) { | 
|             temp = b[b.length - 1 - i]; | 
|         } | 
|         return temp; | 
|     } | 
 | 
|     /** | 
|      * 读取无符号位的Short数,16位 | 
|      *  | 
|      * @param readBuffer | 
|      * @return | 
|      * @throws IOException | 
|      */ | 
|     private static final BigInteger readUnsignedShort(byte[] readBuffer) | 
|             throws IOException { | 
|         if (readBuffer == null  |  |  readBuffer.length < 2) | 
|             return new BigInteger("0"); | 
|         // 处理成无符号数 | 
|         byte[] uint64 = new byte[3]; | 
|         uint64[2] = 0; | 
|         System.arraycopy(readBuffer, 0, uint64, 0, 2); | 
|         return new BigInteger(reverse(uint64)); | 
|     } | 
 | 
|     /** | 
|      * 读取无符号位的长整数,64位 | 
|      *  | 
|      * @param readBuffer | 
|      * @return | 
|      * @throws IOException | 
|      */ | 
|     private static final BigInteger readUnsignedInt64(byte[] readBuffer) | 
|             throws IOException { | 
|         if (readBuffer == null  |  |  readBuffer.length < 8) | 
|             return new BigInteger("0"); | 
|         // 处理成无符号数 | 
|         byte[] uint64 = new byte[9]; | 
|         uint64[8] = 0; | 
|         System.arraycopy(readBuffer, 0, uint64, 0, 8); | 
|         return new BigInteger(reverse(uint64)); | 
|     } |