java 提供一个byte数组 将每个不足两位的前面补0,返回新的byte数组
byte[]b2=newbyte[12];b2[0]=(byte)48;b2[1]=(byte)0;b2[2]=(byte)28;b2[3]=(byte)0;b2[4]=...
byte[] b2 = new byte[12];
b2[0]=(byte) 48;
b2[1]=(byte) 0;
b2[2]=(byte) 28;
b2[3]=(byte) 0;
b2[4]=(byte) 1;
返回
byte[] b2 = new byte[12];
b2[0]=(byte) 48;
b2[1]=(byte) 00;
b2[2]=(byte) 28;
b2[3]=(byte) 00;
b2[4]=(byte) 01;
求方法。
在这个方法里加也行,我是把String转byte数组
public static byte[] hexStringToBytes(String hexString) {
hexString = hexString.toUpperCase();
int length = hexString.length() / 2;
char[] hexChars = hexString.toCharArray();
byte[] d = new byte[length];
for (int i = 0; i < length; i++) {
int pos = i * 2;
d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1])); //此处判断d[i]不足两位在前面加0;
}
return d;
} 展开
b2[0]=(byte) 48;
b2[1]=(byte) 0;
b2[2]=(byte) 28;
b2[3]=(byte) 0;
b2[4]=(byte) 1;
返回
byte[] b2 = new byte[12];
b2[0]=(byte) 48;
b2[1]=(byte) 00;
b2[2]=(byte) 28;
b2[3]=(byte) 00;
b2[4]=(byte) 01;
求方法。
在这个方法里加也行,我是把String转byte数组
public static byte[] hexStringToBytes(String hexString) {
hexString = hexString.toUpperCase();
int length = hexString.length() / 2;
char[] hexChars = hexString.toCharArray();
byte[] d = new byte[length];
for (int i = 0; i < length; i++) {
int pos = i * 2;
d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1])); //此处判断d[i]不足两位在前面加0;
}
return d;
} 展开
2个回答
展开全部
我最近在项目中也遇到了同样的问题,我也和楼主是同样的想法,但是我在遍历的时候 不足两位在前面加0 的时候,返回的值依旧还是一位数,正在为此事苦恼中~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
byte类型是分不清0和00的。所以这个需求不成立
追问
我补充了问题,麻烦您看下,在那个方法里面怎么判断,然后加0
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询