zoukankan      html  css  js  c++  java
  • java中如何将byte[]里面的数据转换成16进制字符串

    原文链接: http://zhidao.baidu.com/link?url=RmLDjr4PtP_oUE5J2pKNZSvlHt1K7HcCh4-03Y7VkXYhJ0kawg01CtKHZc2uBVxQsHgzl8pp60WBYULP6K15K_

    以下3个方法能将byte[]转化成16进制字符串,可以任选一个

    /* *
    * Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)
    *来转换成16进制字符串。
    * @param src byte[] data
    * @return hex string
    */

    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);
    }
    stringBuilder.append(hv);
    }
    return stringBuilder.toString();
    }

    public static String bytes2HexString(byte[] b) {
      String ret = "";
      for (int i = 0; i < b.length; i++) {
        String hex = Integer.toHexString(b[i] & 0xFF);
        if (hex.length() == 1) {
          hex = "0" + hex;
        }
        ret += hex;
      }
      return ret;
    }


    public static String toHex(byte[] buffer) {
      StringBuffer sb = new StringBuffer(buffer.length * 2);
      for (int i = 0; i < buffer.length; i++) {
        sb.append(Character.forDigit((buffer[i] & 240) >> 4, 16));
        sb.append(Character.forDigit(buffer[i] & 15, 16));
      }
      return sb.toString();
    }
  • 相关阅读:
    Nginx平滑升级
    svn部署-linux
    svn服务备份与还原
    vmware exsi安装部署
    redis主从复制读写分离
    redis配置文件详解
    zabbix与agent端通信加密
    部署owa预览服务
    zabbix-3.4邮件报警
    centos7--zabbix3.4微信报警
  • 原文地址:https://www.cnblogs.com/huhu0013/p/4756917.html
Copyright © 2011-2022 走看看