java字符串转换为十六进制数组

可不可以把比如字符串"55010100AAFF69"转成十六进制0x55,0x01,0x01,0x00,0x00,0xAA,0xFF,0x69,后放入Byte数组...... 可不可以把比如字符串 "55010100AAFF69" 转成十六进制 0x55, 0x01, 0x01, 0x00, 0x00, 0xAA, 0xFF, 0x69,后放入Byte数组... 展开
 我来答
977657205
2013-12-10 · TA获得超过452个赞
知道小有建树答主
回答量:332
采纳率:100%
帮助的人:223万
展开全部
十六进制格式存储好说,主要还是要看你这种是怎么拆分,比如5 50 10 10 0A AF F6 9或5 5 0 1 0 1 0 0 A A F F 6 9或……
massslow
2013-12-10 · TA获得超过815个赞
知道小有建树答主
回答量:257
采纳率:28%
帮助的人:86.9万
展开全部

  private Byte[] test(String s) {
    int len = s== null ? 0 : s.length() / 2;
    Byte[] bs = new Byte[len];
    for ( int i = 0; i < len; i ++ ) {
      String hex = s.substring(i*2, i*2+2);
      int num = Integer.parseInt(hex, 16);
      bs[i] = new Byte((byte)num);
    }
    return bs;
  }

如果需要的是byte数组,那么直接将int强制转为byte就行了。如果直接用Byte的parse,需要处理异常。

追问
你这得到的数组里面是十进制的啊。。我想得到0x55, 0x01, 0x01, 0x00, 0x00, 0xAA, 0xFF形式的byte数组啊
追答
byte数组里面都是byte数值啊,你说的0x55什么的,只是byte数据的显示模式而已,在编译器里面如果查看变量值的话,选择“Show Hex Value”的选项查看就行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
周文剑eric
推荐于2017-11-26 · 超过10用户采纳过TA的回答
知道答主
回答量:19
采纳率:0%
帮助的人:25.3万
展开全部
字符串作为函数change的参数inputStr
byte[] change(String inputStr) {
byte[] result = new byte[inputStr.length() / 2];
for (int i = 0; i < inputStr.length() / 2; ++i)
result[i] = (byte)(Integer.parseInt(inputStr.substring(i * 2, i * 2 +2), 16) & 0xff);
return result;
}
追问
你这得到的数组里面是十进制的啊。。我想得到0x55, 0x01, 0x01, 0x00, 0x00, 0xAA, 0xFF形式的byte数组啊
追答
所谓的进制只有在显示出来给人看时才有意义,不管是0x55还是85存入byte中对电脑来说都是一样的,只有输出的时候才能看出差别。
比如你写:
byte a = 85;
System.out.println(”0x" + Integer.toString(a, 16));
那么输出的结果就是0x55。
反过来你写:
byte a = 0x55;
System.out.println(a);
那么输出的结果还是85。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangsonglin_c
高粉答主

2013-12-10 · 醉心答题,欢迎关注
知道大有可为答主
回答量:3.7万
采纳率:83%
帮助的人:6998万
展开全部
import java.util.Scanner;
String source="55010100AAFF69);

sc=new Scanner(source);
byte [] Byte = new byte[10];
int i=0;

while (sc.hasNextByte(16)) Byte[i++]=sc.NextByte(16);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式