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") 返回的值是什么呢?是怎么得到的。求解,谢谢各位 展开
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") 返回的值是什么呢?是怎么得到的。求解,谢谢各位 展开
展开全部
首先,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位转换成一个字节。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将字符串 两个两个分组
比如 (9f)(f3)```
每组字符转换成16进制 和一个0XFF相与
或得byte数组 具体干嘛的不知道
比如 (9f)(f3)```
每组字符转换成16进制 和一个0XFF相与
或得byte数组 具体干嘛的不知道
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
16进制字符串转换为byte数组
依次截取字符串(每次取两个长度),将其(16进制形式)转换为int存储到byte数组arrayOfByte中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询