java中一个十六进制的字符串,怎么转换成int数组?

比如457A6F6E652031322F30372F32342031363A33363A323620536E这样一个子String... 比如
45 7A 6F 6E 65 20 31 32 2F 30 37 2F 32 34 20 31 36 3A 33 36 3A 32 36 20 53 6E
这样一个子String
展开
 我来答
wxqlgd
推荐于2016-02-26 · TA获得超过7025个赞
知道小有建树答主
回答量:415
采纳率:0%
帮助的人:325万
展开全部
int n1 = 14;
//十进制转成十六进制:
Integer.toHexString(n1);
//十进制转成八进制
Integer.toOctalString(n1);
//十进制转成二进制
Integer.toBinaryString(12);

//十六进制转成十进制
Integer.valueOf("FFFF",16).toString();
//十六进制转成二进制
Integer.toBinaryString(Integer.valueOf("FFFF",16));
//十六进制转成八进制
Integer.toOctalString(Integer.valueOf("FFFF",16));

//八进制转成十进制
Integer.valueOf("576",8).toString();
//八进制转成二进制
Integer.toBinaryString(Integer.valueOf("23",8));
//八进制转成十六进制
Integer.toHexString(Integer.valueOf("23",8));

//二进制转十进制
Integer.valueOf("0101",2).toString();
//二进制转八进制
Integer.toOctalString(Integer.parseInt("0101", 2));
//二进制转十六进制
Integer.toHexString(Integer.parseInt("0101", 2));
追问
额。这些是转换啊。。我就想问。上面的字符串能转换
int[] a={45,7A,6F,6E,65,20,31,32,2F,30,37,2F,32,34,20,31,36,3A,33,36,3A,32,36,20,53,6E};这样的数组吗
追答
用for循环。

String[] a = new String[a.length];
for(int i=0;i<a.length;i++){
//此处用上边的方法,将每一个元素进行转化就行了。然后在写回数组。

a[i] = 此处写第i个数组元素转换后的值

}
如果想转换成int类型,用Integer.parseint()转换
dark19861201
2018-03-02 · TA获得超过2152个赞
知道大有可为答主
回答量:2584
采纳率:79%
帮助的人:1786万
展开全部
public class Test {
public static void main(String[] args) {
String[] ss = {"45","7A","6F","6E","65","20","31","32","2F","30","37","2F","32","34","20","31","36","3A","33","36","3A","32","36","20","53","6E"};
int[] num = new int[ss.length];
for(int i=0;i<ss.length;i++) {
num[i]=Integer.parseInt(ss[i],16);
}
for(Integer n:num) {
System.out.print(n+",");
}
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gdmmd
推荐于2018-03-02 · TA获得超过1279个赞
知道大有可为答主
回答量:1581
采纳率:66%
帮助的人:1009万
展开全部

使用方法Integer.valueOf(ss[i], 16);转换

以下代码仅供参考

package com.kidd.test.zhidao;

import java.util.Arrays;

public class Test {
public static void main(String[] args) {
String s = "45 7A 6F 6E 65 20 31 32 2F 30 37 2F 32 34 20 31 36 3A 33 36 3A 32 36 20 53 6E";
String[] ss = s.split(" ");
int[] a = new int[ss.length];
for (int i = 0, k = ss.length; i < k; i++) {
a[i] = Integer.valueOf(ss[i], 16);
}
System.out.println(Arrays.toString(a));
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
linwei_vip
2013-07-04
知道答主
回答量:14
采纳率:0%
帮助的人:6.2万
展开全部
你的String字符串转换如下:
String s = "45 7A 6F 6E 65 20 31 32 2F 30 37 2F 32 34 20 31 36 3A 33 36 3A 32 36 20 53 6E";
String[] subs = s.split(" ");
for (int i = 0; i < subs.length; i++) {
System.out.println(new BigInteger(subs[i], 16).intValue());
}

BigInteger为java.math.BigInteger;希望对你有帮助~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Hsolitude
2013-07-04 · TA获得超过181个赞
知道小有建树答主
回答量:164
采纳率:100%
帮助的人:132万
展开全部
public class TestA {
public static void main(String[] args) {
String str = "45 7A 6F 6E 65 20 31 32 2F 30 37 2F 32 34 20 31 36 3A 33 36 3A 32 36 20 53 6E";
String[] str1 = str.split(" ");
int[] i = new int[str1.length];
for(int k=0;k<str1.length;k++){
i[k] = Integer.valueOf(str1[k],16);
}
}
}
得到的 int[] i 数组就是转化后的...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式