字节转换工具类

字符串转换为Ascii

/**
 * 字符串转换为Ascii
 * @param value
 * @return
 */
public static String stringToAscii(String value)  
{  
    StringBuffer sbu = new StringBuffer();  
    char[] chars = value.toCharArray();   
    for (int i = 0; i < chars.length; i++) {  
        if(i != chars.length - 1)  
        {  
            sbu.append((int)chars[i]).append(",");  
        }  
        else {  
            sbu.append((int)chars[i]);  
        }  
    }  
    return sbu.toString();  
}

Ascii转换为字符串

/**
 * Ascii转换为字符串
 * @param value
 * @return
 */
public static String asciiToString(String value)
{
    StringBuffer sbu = new StringBuffer();
    String[] chars = value.split(",");
    for (int i = 0; i < chars.length; i++) {
        sbu.append((char) Integer.parseInt(chars[i]));
    }
    return sbu.toString();
}

byte[]数组转换为16进制的字符串

/**
 * byte[]数组转换为16进制的字符串
 *
 * @param data 要转换的字节数组
 * @return 转换后的结果
 */
public static final String byteArrayToHexString(byte[] data) {
    StringBuilder sb = new StringBuilder(data.length * 2);
    for (byte b : data) {
        int v = b & 0xff;
        if (v < 16) {
            sb.append('0');
        }
        sb.append(Integer.toHexString(v));
    }
    return sb.toString().toUpperCase(Locale.getDefault());
}

16进制转换成为string类型字符串

  /**
 * 16进制转换成为string类型字符串
 * @param s
 * @return
 */
   public static String hexStringToString(String s) {
    if (s == null || s.equals("")) {
        return null;
    }
    s = s.replace(" ", "");
    byte[] baKeyword = new byte[s.length() / 2];
    for (int i = 0; i < baKeyword.length; i++) {
        try {
            baKeyword[i] = (byte)(0xff & Integer.parseInt(s.substring(i * 2, i * 2 + 2), 16));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    try {
        s = new String(baKeyword, "GBK");
        new String();
    } catch (Exception e1) {
        e1.printStackTrace();
    }
    return s;
}

16进制转换成为字节数组

/**
     * 16进制转换成为字节数组
     * @param s
     * @return
     */
    public static byte[] hexStringToByte(String s) {
        if (s == null || s.equals("")) {
            return null;
        }
        s = s.replace(" ", "");
        byte[] baKeyword = new byte[s.length() / 2];
        for (int i = 0; i < baKeyword.length; i++) {
            try {
                baKeyword[i] = (byte)(0xff & Integer.parseInt(s.substring(i * 2, i * 2 + 2), 16));
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
       
        return baKeyword;
    }

字节数组转换成16进制

/**
 * 字节数组转换成16进制
 * @param src
 * @return
 */
public static String bytesToHexString(byte[] src){   
    StringBuilder stringBuilder = new StringBuilder("");   
    if (src == null || src.length <= 0) {   
        return null;   
    }   
    for (int i = 0; i < src.length; i++) {   
        int v = src[i] & 0xFF;   
        String hv = Integer.toHexString(v);   
        if (hv.length() < 2) {   
            stringBuilder.append(0);   
        }
        if(i == src.length - 1) {
            stringBuilder.append(hv.toUpperCase());
        }else {
            stringBuilder.append(hv.toUpperCase() + ",");   
        }
    }   
    return stringBuilder.toString();   
} 
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。