编写一个函数,接收一个hex string作为输入: 定义一个名为hexStringToByteArray的静态方法,该方法接收一个String类型的参数,即十六进制字符串。 在函数内,将hex string分割为每两个字符一组: 使用for循环遍历输入的十六进制字符串,每次迭代处理两个字符。 将每组字符转换为对应的byte值: 使用Character.digit方法将每个...
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(" ")将十六...
return bytesToObject(hexStringToByte(hex)); } /** *//** * @函数功能: BCD码转为10进制串(阿拉伯数据) * @输入参数: BCD码 * @输出结果: 10进制串 */ publicstatic String bcd2Str(byte[] bytes){ StringBuffer temp=new StringBuffer(bytes.length*2); ...
所谓十六进制String,就是字符串里面的字符都是十六进制形式,因为一个byte是八位,可以用两个十六进制位来表示,因此,byte数组中的每个元素可以转换为两个十六进制形式的char,所以最终的HexString的长度是byte数组长度的两倍。闲话少说上代码: publicstaticStringbyteArrayToHexStr(byte[] byteArray){if(byteArray ==null...
* @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 + " "); } }...
(byteb:byteArray){System.out.printf("0x%02X ",b);// 输出字节格式}}publicstaticbooleanisValidHex(Stringhex){returnhex.matches("^[0-9A-Fa-f]+$");}publicstaticbyte[]hexToByteArray(Stringhex){byte[]byteArray=newbyte[hex.length()/2];// 转换每个HEX字符为字节for(inti=0;i<hex.length()...