编写一个函数,接收一个hex string作为输入: 定义一个名为hexStringToByteArray的静态方法,该方法接收一个String类型的参数,即十六进制字符串。 在函数内,将hex string分割为每两个字符一组: 使用for循环遍历输入的十六进制字符串,每次迭代处理两个字符。 将每组字符转换为对应的byte值: 使用Characte
publicclassHexToByteArrayConverter{publicstaticbyte[]hexStringToByteArray(StringhexString){intlength=hexString.length();byte[]byteArray=newbyte[length/2];for(inti=0;i<length;i+=2){StringhexPair=hexString.substring(i,i+2);byteArray[i/2]=(byte)((Character.digit(hexPair.charAt(0),16)<<4)+...
publicclassHexStringToByteArray{publicstaticvoidmain(String[]args){StringhexString="4A6F686E";byte[]byteArray=hexStringToByteArray(hexString);// 输出字节数组System.out.print("字节数组: ");for(byteb:byteArray){System.out.print(b+" ");}}publicstaticbyte[]hexStringToByteArray(Strings){intlen=...
private static byte[] hexStringToByteArray(String s) {String[] hexParts = s.split(" ");byte[] data = new byte[hexParts.length];for (int i = 0; i < hexParts.length; i++) {data[i] = (byte) Integer.parseInt(hexParts[i], 16);}return data;} 此方法首先使用split(" ")将十六...
所谓十六进制String,就是字符串里面的字符都是十六进制形式,因为一个byte是八位,可以用两个十六进制位来表示,因此,byte数组中的每个元素可以转换为两个十六进制形式的char,所以最终的HexString的长度是byte数组长度的两倍。闲话少说上代码: publicstaticStringbyteArrayToHexStr(byte[] byteArray){if(byteArray ==null...
Java将string转字节数组 publicstaticbyte[] hexStringToByteArray(String s) {intlen =s.length();byte[] data =newbyte[len / 2];for(inti = 0; i < len; i += 2) { data[i/ 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)+ Character.digit(s.charAt(i+1), 16));...
* @param inHex 待转换的Hex字符串 * @return 转换后的byte数组结果 */publicstaticbyte[]hexToByteArray(String inHex){int hexlen=inHex.length();byte[]result;if(hexlen%2==1){//奇数hexlen++;result=newbyte[(hexlen/2)];inHex="0"+inHex;}else{//偶数result=newbyte[(hexlen/2)];}int ...
System.arraycopy(byte_2, 0, byte_3, byte_1.length, byte_2.length); return byte_3; } /*输入一个string(16进制的字符hex eg:ff)输出为16进制的byte[],注意输入为小写的hex字符串*/ public byte[] hexStringToByte(String hex) { int len = (hex.length() / 2); ...
public class HexStringToByteArray { public static void main(String[] args) { String hexString = "4A6F686E20446F65"; // 16进制字符串 byte[] byteArray = DatatypeConverter.parseHexBinary(hexString); //打印转换后的byte数组 for (byte b : byteArray) { System.out.print(b + " "); } }...
importjava.util.Arrays;publicclassHexStringToByteArray{publicstaticvoidmain(String[]args){// 步骤1: 输入16进制字符串StringhexString="4A6F686E";// 这是我们要转换的字符串// 步骤2: 创建byte数组intlength=hexString.length();// 获取输入字符串的长度byte[]byteArray=newbyte[length/2];// 创建byte数...