关于后端:面试题精讲如何将二进制转为十六进制

34次阅读

共计 804 个字符,预计需要花费 3 分钟才能阅读完成。

有的时候博客内容会有变动,首发博客是最新的,其余博客地址可能会未同步, 认准https://blog.zysicyj.top

首发博客地址

文章更新打算

系列文章地址


/**
 * 二进制转换为十六进制
 * 这里次要用于解决图片数据,因为数据库存储了图片的 Base64 编码
 */
private String bytesToHexString(byte[] bytes) {StringBuilder hexString = new StringBuilder();
    for (byte b : bytes) {String hex = Integer.toHexString(0xff & b);
        if (hex.length() == 1) {hexString.append('0');
        }
        hexString.append(hex);
    }
    return hexString.toString();}

这个办法承受一个 byte 数组作为参数,示意二进制数据。它会将每个字节转换为对应的十六进制字符串,并将这些字符串拼接在一起,最初返回一个残缺的十六进制字符串。

具体的实现步骤如下:

  1. 创立一个 StringBuilder 对象hexString,用于存储转换后的十六进制字符串。
  2. 应用 for-each 循环遍历 bytes 数组中的每个字节。
  3. 对于每个字节,应用 Integer.toHexString() 办法将其转换为对应的十六进制字符串。0xff & b是为了确保将字节转换为无符号整数。
  4. 如果转换后的十六进制字符串长度为 1,阐明只有一位,须要在后面补 0。
  5. 将转换后的十六进制字符串追加到 hexString 中。
  6. 循环完结后,应用 toString() 办法将 hexString 转换为一个残缺的十六进制字符串,并返回。

这个办法能够用于将任意二进制数据转换为十六进制字符串,不仅限于解决图片数据。你能够在其余须要将二进制数据转换为十六进制字符串的场景中应用这个办法。
<!– md tj.md –>

本文由 mdnice 多平台公布

正文完
 0