关于Soeckt 流操作的数据转换工具方法

java 代码
  1. package com.sunhill.k1c.sms.util;   
  2. import java.nio.*;   
  3.   
  4. //数据转换 
  5. /**  
  6. *create by Shane about dataconvert     
  7. *PCCW BJ DEV  
  8. */  
  9.   
  10. public class DataConvertUtil {   
  11.     public static int byte2int(byte[] b){   
  12.          return b[3] & 0xff | (b[2] & 0xff) << 8 | (b[1] & 0xff) << 16 | (b[0] & 0xff) << 24;   
  13.     }   
  14.     public static byte[] int2Byte(int value){   
  15.            
  16.         byte[] b=new byte[4];   
  17.         ByteBuffer buffer = ByteBuffer.allocate(4);   
  18.         buffer.asIntBuffer().put(value);   
  19.         for(int i=0;i<4;i++){   
  20.             b[i]= buffer.get();   
  21.         }   
  22.         return b;   
  23.     }   
  24.     public static long byte2uint(byte b[]) {   
  25.             return (long)b[3] & (long)255 | ((long)b[2] & (long)255) << 8 | ((long)b[1] & (long)255) << 16 | ((long)b[0] & (long)255) << 24;   
  26.     }   
  27.     public static byte[] uint2byte(long value) {   
  28.             byte b[] = new byte[4];   
  29.             b[0] = (byte)(int)(value >> 24);   
  30.             b[1] = (byte)(int)(value >> 16);   
  31.             b[2] = (byte)(int)(value >> 8);   
  32.             b[3] = (byte)(int)value;   
  33.             return b;   
  34.         }   
  35.     public static String byte2String(byte[] b){   
  36.         return new String(b);   
  37.     }   
  38.     public static byte[] getSubByte(byte[] buffer,int from,int len){   
  39.         if(from+len>buffer.length){   
  40.                
  41.             len=buffer.length-from;   
  42.         }   
  43.         byte[] b = new byte[len];   
  44.         for(int i=0;i<len;i++){   
  45.             b[i]= buffer[i+from];   
  46.         }   
  47.         return b;   
  48.            
  49.     }   
  50.     public static void setSubByte(byte[] dest, byte[] src,int from,int len){   
  51.         if(dest==null){   
  52.             return;   
  53.         }   
  54.         if(from+len>dest.length){   
  55.             return;   
  56.         }   
  57.            
  58.         if(src!=null){   
  59.             for(int i=0;i<len;i++){   
  60.                 if(i>=src.length){   
  61.                     dest[i+from]=0;   
  62.                 }else{   
  63.                     dest[i+from]=src[i];   
  64.                 }   
  65.                    
  66.             }      
  67.         }else{   
  68.             for(int i=0;i<len;i++){   
  69.                 dest[i+from]=0;    
  70.             }      
  71.         }   
  72.            
  73.     }   
  74. }   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值