StringToByte OR ByteTOString

public   class  ByteToString {
    
public  static void main(String args[]){
        
        
byte[] c={(byte)0x5A,(byte)0x08,(byte)0x00,(byte)0xFF,(byte)0xB2,(byte)0x33,(byte)0xDE,(byte)0xFF};
        System.out.println (ByteToString.byte2HexString(c));
    }

    
    
    
public static String  byte2HexString(byte []c){
        StringBuffer sb
=new StringBuffer();
        
for (int i = 0; i<c.length; i++{
            String s
=(String.format("%x",(int)c[i]&0xFF)).toUpperCase();
            
if(s.length()<2){
                sb.append(
"0");
            }

            sb.append(s);
        }

        
return  sb.toString();
    }

    
    
}

public   class  ByteTools  {
  
/**
   * byte转化为字符串输出
   * 
   * 
@param b
   * 
@return
   
*/

  
public static String byteToString(byte b) {
    
byte high, low;
    
byte maskHigh = (byte0xf0;
    
byte maskLow = 0x0f;
    high 
= (byte) ((b & maskHigh) >> 4);
    low 
= (byte) (b & maskLow);
    StringBuffer buf 
= new StringBuffer();
    buf.append(findHex(high));
    buf.append(findHex(low));
    
return buf.toString();
  }


  
public static String byteToString(byte[] bs) {
    
byte high, low;
    
byte maskHigh = (byte0xf0;
    
byte maskLow = 0x0f;
    StringBuffer buf 
= new StringBuffer();
    
for (byte b : bs) {
      high 
= (byte) ((b & maskHigh) >> 4);
      low 
= (byte) (b & maskLow);
      buf.append(findHex(high));
      buf.append(findHex(low));
    }

    
return buf.toString();
  }


  
public static int stringToByte(String in, byte[] b) throws Exception {
    
if (b.length < in.length() / 2{
      
throw new Exception("byte array too small");
    }

    
int j = 0;
    StringBuffer buf 
= new StringBuffer(2);
    
for (int i = 0; i < in.length(); i++, j++{
      buf.insert(
0, in.charAt(i));
      buf.insert(
1, in.charAt(i + 1));
      
int t = Integer.parseInt(buf.toString(), 16);
      System.out.println(
"byte hex value:" + t);
      b[j] 
= (byte) t;
      i
++;
      buf.delete(
02);
    }

    
return j;
  }


  
private static char findHex(byte b) {
    
int t = new Byte(b).intValue();
    t 
= t < 0 ? t + 16 : t;
    
if ((0 <= t) && (t <= 9)) {
      
return (char) (t + '0');
    }

    
return (char) (t - 10 + 'A');
  }

}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值