java 实用方法

1  Arrays.copyOfRange(buff,fromIndex,toIndex) 返回byte[] 数组

2 String str=new String(buff,"GBK");

public final class BitConverterBE
{
    public static long ToUInt64(byte[] value, int startIndex)
    {
        return
            ((long)(value[startIndex]&0xFF) << 56) |
            ((long)(value[startIndex + 1]&0xFF) << 48) |
            ((long)(value[startIndex + 2]&0xFF) << 40) |
            ((long)(value[startIndex + 3]&0xFF) << 32) |
            ((long)(value[startIndex + 4]&0xFF) << 24) |
            ((long)(value[startIndex + 5]&0xFF) << 16) |
            ((long)(value[startIndex + 6]&0xFF) << 8) |
            ((long)(value[startIndex + 7]&0xFF));
    }

    public static long ToInt64(byte[] value, int startIndex)
    {
        return
            ((long)(value[startIndex]&0xFF) << 56) |
            ((long)(value[startIndex + 1]&0xFF) << 48) |
            ((long)(value[startIndex + 2]&0xFF) << 40) |
            ((long)(value[startIndex + 3]&0xFF) << 32) |
            ((long)(value[startIndex + 4]&0xFF) << 24) |
            ((long)(value[startIndex + 5]&0xFF) << 16) |
            ((long)(value[startIndex + 6]&0xFF) << 8) |
            ((long)(value[startIndex + 7]&0xFF));
    }

    public static long ToUInt32(byte[] value, int startIndex)
    {
        return
            ((long)(value[startIndex]&0xFF) << 24) |
            ((long)(value[startIndex + 1]&0xFF) << 16) |
            ((long)(value[startIndex + 2]&0xFF) << 8) |
            ((long)(value[startIndex + 3]&0xFF));
    }

    public static long ToInt32(byte[] value, int startIndex)
    {
        return
            ((long)(value[startIndex]&0xFF) << 24) |
            ((long)(value[startIndex + 1]&0xFF) << 16) |
            ((long)(value[startIndex + 2]&0xFF) << 8) |
            ((long)(value[startIndex + 3]&0xFF));
    }

    public static int ToUInt16(byte[] value, int startIndex)
    {
        return (int)(
            ((value[startIndex]&0xFF) << 8) |
            ((value[startIndex + 1]&0xFF)));
    }

    public static byte[] GetBytes_ulong(long value)
    {
        byte[] buff = new byte[8];
        buff[0] = (byte)(value >> 56);
        buff[1] = (byte)(value >> 48);
        buff[2] = (byte)(value >> 40);
        buff[3] = (byte)(value >> 32);
        buff[4] = (byte)(value >> 24);
        buff[5] = (byte)(value >> 16);
        buff[6] = (byte)(value >> 8);
        buff[7] = (byte)(value);
        return buff;
    }

    public static byte[] GetBytes_long(long value)
    {
        byte[] buff = new byte[8];
        buff[0] = (byte)(value >> 56);
        buff[1] = (byte)(value >> 48);
        buff[2] = (byte)(value >> 40);
        buff[3] = (byte)(value >> 32);
        buff[4] = (byte)(value >> 24);
        buff[5] = (byte)(value >> 16);
        buff[6] = (byte)(value >> 8);
        buff[7] = (byte)(value);
        return buff;
    }

    public static byte[] GetBytes_uint(long value)
    {
        byte[] buff = new byte[4];
        buff[0] = (byte)(value >> 24);
        buff[1] = (byte)(value >> 16);
        buff[2] = (byte)(value >> 8);
        buff[3] = (byte)(value);
        return buff;
    }


    public static byte[] GetBytes_int(int value)
    {
        byte[] buff = new byte[4];
        buff[0] = (byte)(value >> 24);
        buff[1] = (byte)(value >> 16);
        buff[2] = (byte)(value >> 8);
        buff[3] = (byte)(value);
        return buff;
    }


    public static byte[] GetBytes_short(short value)
    {
        byte[] buff = new byte[2];
        buff[0] = (byte)(value >> 8);
        buff[1] = (byte)(value);
        return buff;
    }
    
    public static byte[] GetBytes_ushort(int value)
    {
        byte[] buff = new byte[2];
        buff[0] = (byte)(value >> 8);
        buff[1] = (byte)(value);
        return buff;
    }
    
}

public final class BitConverterLE
{
	
	public static short ToInt16(byte[] value, int startIndex)
    {
        return (short)(
            (value[startIndex]&0xff ) |
            ((value[startIndex + 1]&0xff)<<8));
    }
	
	 public static int ToUInt16(byte[] value, int startIndex)
	    {
	        return (int)(
	            (value[startIndex] &0xff) |
	            ((value[startIndex + 1]&0xff)<<8));
	    }
	 
	 public static int ToInt32(byte[] value, int startIndex)
	    {
	        return
	            ((int)(value[startIndex+3]&0xff) << 24) |
	            ((int)(value[startIndex + 2]&0xff) << 16) |
	            ((int)(value[startIndex + 1]&0xff) << 8) |
	            ((int)(value[startIndex + 0])&0xff);
	    }
	 
	 public static long ToUInt32(byte[] value, int startIndex)
	    {
	        return
	            ((long)(value[startIndex+3]&0xff) << 24) |
	            ((long)(value[startIndex + 2]&0xff) << 16) |
	            ((long)(value[startIndex + 1]&0xff) << 8) |
	            ((long)(value[startIndex + 0]&0xff));
	    }
	 
	 public static long ToInt64(byte[] value, int startIndex)
	    {
	        return
	            ((long)(value[startIndex+7]&0xff) << 56) |
	            ((long)(value[startIndex + 6]&0xff) << 48) |
	            ((long)(value[startIndex + 5]&0xff) << 40) |
	            ((long)(value[startIndex + 4]&0xff) << 32) |
	            ((long)(value[startIndex + 3]&0xff) << 24) |
	            ((long)(value[startIndex + 2]&0xff) << 16) |
	            ((long)(value[startIndex + 1]&0xff) << 8) |
	            ((long)(value[startIndex + 0]&0xff));
	    }
	 
	 
	 public static long ToUInt64(byte[] value, int startIndex)
	    {
	        return
	            ((long)(value[startIndex+7]&0xff) << 56) |
	            ((long)(value[startIndex + 6]&0xff) << 48) |
	            ((long)(value[startIndex + 5]&0xff) << 40) |
	            ((long)(value[startIndex + 4]&0xff) << 32) |
	            ((long)(value[startIndex + 3]&0xff) << 24) |
	            ((long)(value[startIndex + 2]&0xff) << 16) |
	            ((long)(value[startIndex + 1]&0xff) << 8) |
	            ((long)(value[startIndex + 0]&0xff));
	    }
	 
	 
	 
	 
	 
    public static byte[] GetBytes_long(long value)
    {
        byte[] buff = new byte[8];
        buff[0] = (byte)((value)&0xff);
        buff[1] = (byte)((value >> 8)&0xff);
        buff[2] = (byte)((value >> 16)&0xff);
        buff[3] = (byte)((value >> 24)&0xff);
        buff[4] = (byte)((value >> 32)&0xff);
        buff[5] = (byte)((value >> 40)&0xff);
        buff[6] = (byte)((value >> 48)&0xff);
        buff[7] = (byte)((value >> 56)&0xff);
        return buff;
    }
    
    public static byte[] GetBytes_ulong(long value)
    {
        byte[] buff = new byte[8];
        buff[0] = (byte)((value)&0xff);
        buff[1] = (byte)((value >> 8)&0xff);
        buff[2] = (byte)((value >> 16)&0xff);
        buff[3] = (byte)((value >> 24)&0xff);
        buff[4] = (byte)((value >> 32)&0xff);
        buff[5] = (byte)((value >> 40)&0xff);
        buff[6] = (byte)((value >> 48)&0xff);
        buff[7] = (byte)((value >> 56)&0xff);
        return buff;
    }
    

    public static byte[] GetBytes_int(int value)
    {
        byte[] buff = new byte[4];
        buff[0] = (byte)(value);
        buff[1] = (byte)(value >> 8);
        buff[2] = (byte)(value >> 16);
        buff[3] = (byte)(value >> 24);
        return buff;
    }
    
    public static byte[] GetBytes_uint(long value)
    {
        byte[] buff = new byte[4];
        buff[0] = (byte)(value);
        buff[1] = (byte)(value >> 8);
        buff[2] = (byte)(value >> 16);
        buff[3] = (byte)(value >> 24);
        return buff;
    }
    

    public static byte[] GetBytes_short(short value)
    {
        byte[] buff = new byte[2];
        buff[0] = (byte)(value);
        buff[1] = (byte)(value >> 8);
        return buff;
    }
    
    public static byte[] GetBytes_ushort(int value)
    {
        byte[] buff = new byte[2];
        buff[0] = (byte)((value));
        buff[1] = (byte)((value >> 8));
        return buff;
    }
    
    
}

 System.arraycopy(srcBuff,srcIndex,destBuff,destIndex,destLen);



Byte[] ArrayUtils.toObject(byte[])


byte[] ArrayUtils.toPrimitive(Byte[])


//时间

SimpleDateFormat DTSDF=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");


public   static int BCDToDec(byte[] bcd)
    {
        int tmp;
        int dec = 0;

        for (int i = 0; i < bcd.length; i++)
        {
            tmp = ((bcd[i] >> 4) & 0x0F) * 10 + (bcd[i] & 0x0F);
            //dec += tmp * pow(100, length - 1 - i);

            dec = tmp;


        }

        return dec;
    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值