java相关第一弹,帮忙解释一段代码的作用。

本人java小白,最近工作需要临时用到相关知识,百度许久不得要领。publicstaticbyte[]toStringHex(StringparamString){if(... 本人java小白,最近工作需要 临时用到相关知识,百度许久不得要领。

public static byte[] toStringHex(String paramString)
{
if (TextUtils.isEmpty(paramString))
{
arrayOfByte = new byte[0];
return arrayOfByte;
}
byte[] arrayOfByte = new byte[paramString.length() / 2];
int i = 0;
while (i < arrayOfByte.length)
{
int j = i * 2;
int k = 2 + i * 2;
try
{
arrayOfByte[i] = ((byte)(0xFF & Integer.parseInt(paramString.substring(j, k), 16)));
i++;
}
catch (Exception localException)
{
while (true)
localException.printStackTrace();
}
}
}
}

根据上面定义的函数,toStringHex("9FF3D76611BA436E98E357EDE4BF6145") 返回的值是什么呢?是怎么得到的。求解,谢谢各位
展开
 我来答
Utrecht1984
2015-04-06 · TA获得超过157个赞
知道答主
回答量:72
采纳率:0%
帮助的人:85.7万
展开全部

首先,9FF3D76611BA436E98E357EDE4BF6145 是 16进制的文字列。

通过,toStringHex 这个方法,将它转换成了 byte数组(byte是2进制的)。

转换的时候可以2位2位的看,比如9F转成10011111,F3转成11110011,以此类推。

最后你想知道的返回值如下(为了看起来方便,做成了列表,10011111就是第一个元素,以此类推,一共16个元素)

10011111
11110011
11010111
01100110
00010001
10111010
01000011
01101110
10011000
11100011
01010111
11101101
11100100
10111111
01100001
01000101
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-04-06
展开全部
9FF3D76611BA436E98E357EDE4BF6145所代表的字节数组,每一次取2个转换成int型,然后截取8位转换成一个字节。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龙光瑞像416
2015-04-06 · 超过21用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:37.5万
展开全部
将字符串 两个两个分组
比如 (9f)(f3)```
每组字符转换成16进制 和一个0XFF相与
或得byte数组 具体干嘛的不知道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
开心的马六
2015-04-06 · TA获得超过473个赞
知道小有建树答主
回答量:316
采纳率:0%
帮助的人:203万
展开全部
16进制字符串转换为byte数组
依次截取字符串(每次取两个长度),将其(16进制形式)转换为int存储到byte数组arrayOfByte中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式