编写十六进制的字符串转换为byte数组的函数: public byte[] hexStringToBytes(String hexString); 每两个

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写十六进制的字符串转换为byte数组的函数: public byte[] hexStringToBytes(String hexString); 每两个相关的知识,希望对你有一定的参考价值。

编写十六进制的字符串转换为byte数组的函数:
public byte[] hexStringToBytes(String hexString);
每两个字符表示转化为一个字节,返回字节数组。
例:字符串"ABCDEF" 转化为byte数组 0xAB,0xCD,0xEF
字符串"01" 转化为byte数组 0x01
用java语言,希望有完整代码。

参考技术A public class Zhuanhuan
public static byte[] hexStringToByte(String hex)
int len = (hex.length() / 2);
byte[] result = new byte[len];
char[] achar = hex.toCharArray();
for (int i = 0; i < len; i++)
int pos = i * 2;
result[i] = (byte) (toByte(achar[pos]) << 4 | toByte(achar[pos + 1]));

return result;

private static byte toByte(char c)
byte b = (byte) "0123456789ABCDEF".indexOf(c);
return b;


public static void main(String args[])
Zhuanhuan zh=new Zhuanhuan();
byte[] s=Zhuanhuan.hexStringToByte("23ff2289");
System.out.println(s[4]);

本回答被提问者采纳

以上是关于编写十六进制的字符串转换为byte数组的函数: public byte[] hexStringToBytes(String hexString); 每两个的主要内容,如果未能解决你的问题,请参考以下文章

(C#)把一个byte数组转换成一个二进制流!

java里面byte数组和String字符串怎么转换

如何把一个byte数组转化为字符串

java 16进制byte数组 转化成UTF-8格式字符串

java里面byte数组和String字符串怎么转换

如何将字符串加载到 BYTE* 数组(C++)的元素中 [重复]