byte[] bys = {0x08,0x12,0x23,0x11}; 
long len = 0;
        for (int i = 0; i < 4; i++){ 
            len += (long)((bys[i] << ((3-i) * 8)));
        }
System.out.println(len);
可知 : len == 0x08122311

解决方案 »

  1.   

    可是那样只能是四个字节啊,而且这四个字节的高位上都不能是a,b,c,d,e啊这样不符合要求啊。
      

  2.   

    public static String ByteToLongStr(byte[] num, int index,int len ) {
                 long ret = 0;
                 String retS ="";
                 for (int i=index; i<index+len; i++){
                    int j=(i-index);
                    ret = ret+(num[i]>=0?num[i]:(256+num[i]))*(int)Math.pow(16,j*2);
                 }             retS= Long.toString(ret);
                 return retS;
           }