JAVA中有多个十六进制字符串转成Byte数组,有什么方法

这是一个16进制的字符串:1A543C3265C133D23F416E21,需要转成byte[]... 这是一个16进制的字符串:1A54 3C32 65C1 33D2 3F41 6E21,需要转成byte[] 展开
 我来答
百度网友7e8d22c
2018-07-23 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:79
采纳率:77%
帮助的人:47万
展开全部
给你如下两个方法,你可以试试:

 public static byte uniteBytes(byte str0, byte str1) { 
  byte _b0 = Byte.decode("0x" + new String(new byte[]{str0})).byteValue(); 
  _b0 = (byte)(_b0 << 4); 
  byte _b1 = Byte.decode("0x" + new String(new byte[]{str1})).byteValue(); 
  byte ret = (byte)(_b0 ^ _b1); 
  return ret; 
 }
 public static byte[] HexString2Bytes(String str){ 
  byte[] ret = new byte[str.length()/2]; 
  byte[] tmp = str.getBytes(); 
  for(int i=0; i<str.length()/2; i++){ 
   ret[i] = uniteBytes(tmp[i*2], tmp[i*2+1]); 
  }
  return ret; 
 }
 
 demo:
 String str = "1A543C3265C133D23F416E21"
 byte[] by = HexString2Bytes(str);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式