int v = data[i] & 0xFF;//取byte的后八位 out[i * 2] = hexArray[v >>> 4]; out[i * 2 + 1] = hexArray[v & 0x0F]; } return new String(out); } 此处需要注意的是,Java中byte是有符号的,在将byte转为int时,int类型的值也会把这个符合带上。以-1为例,byte和
方法定义:public static String bytesToHex(byte[] bytes) 方法接收一个byte数组并返回一个hex字符串。 空值检查:如果输入的byte数组为null,则直接返回null。 StringBuilder:使用StringBuilder来构建最终的hex字符串,以提高性能。 遍历和转换:通过for循环遍历byte数组中的每个元素,并使用String.format("%02x", b)将其转...
遍历字节数组。 将每个字节转换为对应的十六进制字符串。 下面是实现该功能的示例代码: publicclassByteToHexConverter{publicstaticStringbytesToHex(byte[]bytes){StringBuilderhexString=newStringBuilder();for(byteb:bytes){Stringhex=Integer.toHexString(0xFF&b);if(hex.length()==1){hexString.append('0');// ...
步骤2:将字节数组转换为十六进制字符串 接下来,我们需要编写代码将字节数组转换为十六进制字符串。以下是一个示例代码: StringBuilderhexString=newStringBuilder();for(byteb:byteArray){hexString.append(String.format("%02X",b));}Stringhex=hexString.toString(); 1. 2. 3. 4. 5. 在这段代码中,我们使用Stri...
* Convert byte[] to hex string. 把字节数组转化为字符串 * 这里我们可以将byte转换成int,然后利用Integer.toHexString(int)来转换成16进制字符串。 * @param src byte[] data * @return hex string */ publicstatic String bytesToHexString(byte[] src){ ...
Java byte数组与十六进制字符串互转 Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示。 所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的16进制字符H和L,并组合起来得到byte转换到16进制字符串的结果new String(H) + new String...
下面来看一下从十六进制字符串转换为字节数组的方式: 第一种方法: 实际借用了Character类的方法进行16进制的转换 1staticbyte[] hexToByteArray2(String hex)2{3intl =hex.length();4byte[] data =newbyte[l / 2];5for(inti = 0; i < l; i += 2)6{7data[i / 2] = (byte) ((Character.dig...
* 字节转十六进制 * @param b 需要进行转换的byte字节 * @return 转换后的Hex字符串 */publicstaticStringbyteToHex(byte b){String hex=Integer.toHexString(b&0xFF);if(hex.length()<2){hex="0"+hex;}returnhex;} 很多时候,我们需要转换的是一个byte数组,一个一个byte调用上面的方法显然太麻烦。
通过用例学习Java中的byte数组和String互相转换,这种转换可能在很多情况需要,比如IO操作,生成加密hash码等等。 除非觉得必要,否则不要将它们互相转换,他们分别代表了不同的数据,专门服务于不同的目的,通常String代表文本字符串,byte数组针对二进制数据 通过String类将String转换成byte[]或...
publicstaticString toHexString(byte[] array) { StringBuilder sb =newStringBuilder(); for(byteb : array) { sb.append(HEX_CHAR_TABLE[(b &0xf0) >>4]); sb.append(HEX_CHAR_TABLE[b &0x0f]); } returnsb.toString(); } publicstaticbyte[] toByteArray(String hexString) { ...