有的时候博客内容会有变动,首发博客是最新的,其余博客地址可能会未同步,认准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
数组作为参数,示意二进制数据。它会将每个字节转换为对应的十六进制字符串,并将这些字符串拼接在一起,最初返回一个残缺的十六进制字符串。
具体的实现步骤如下:
- 创立一个
StringBuilder
对象hexString
,用于存储转换后的十六进制字符串。 - 应用
for-each
循环遍历bytes
数组中的每个字节。 - 对于每个字节,应用
Integer.toHexString()
办法将其转换为对应的十六进制字符串。0xff & b
是为了确保将字节转换为无符号整数。 - 如果转换后的十六进制字符串长度为1,阐明只有一位,须要在后面补0。
- 将转换后的十六进制字符串追加到
hexString
中。 - 循环完结后,应用
toString()
办法将hexString
转换为一个残缺的十六进制字符串,并返回。
这个办法能够用于将任意二进制数据转换为十六进制字符串,不仅限于解决图片数据。你能够在其余须要将二进制数据转换为十六进制字符串的场景中应用这个办法。
<!-- md tj.md -->
本文由mdnice多平台公布