long l = Long.parse(s,16); s = s.subString(2,s.length()); while(s.length()<9){ s = "0" + s; } byte[] b = s.getBytes();
Sorry, the above should be:long l = Long.parseLong(s,16); s = s.subString(2,s.length()); while(s.length()<9){ s = "0" + s; } byte[] b = s.getBytes();
各位应该理解错了楼主的意思吧!!应该是这样的吧! long l = Long.parseLong(s,16); String l_s = new String(l); byte[] b = l_s.getBytes();
hesi726(hesi):没见过,String l_s = new String(l);不知道,String 有没有这样的构造函数?是不是想生成一个String?为什么不用原来的呢。上面我贴的代码没有调试过,只是顺手写的。下面的的 public class TypeConvert { public static void main(String[] args) { String s = "0x123434"; s = s.substring(2, s.length()); long l = Long.parseLong(s, 16); System.out.println("long value:" + l); while (s.length() < 9) { s = "0" + s; } byte[] b = s.getBytes(); System.out.print("Byte value:"); for (int i = 0; i < b.length; i++) { System.out.print("\t"+ b[i]); } } }
String s="0x12123434"; s = s.substring(2); long len = Long.parseLong(strlen,16); byte[] bytearr = new byte[8]; for (int i = 0; i < 8; i++){ bytearr[i] = (byte)((data >> (i * 8)) & 0xFF); } 应该是这个意思吧!! 打印的时候把bytearr用16进制显示就是了!
s = s.subString(2,s.length());
while(s.length()<9){
s = "0" + s;
}
byte[] b = s.getBytes();
s = s.subString(2,s.length());
while(s.length()<9){
s = "0" + s;
}
byte[] b = s.getBytes();
long l = Long.parseLong(s,16);
String l_s = new String(l);
byte[] b = l_s.getBytes();
public class TypeConvert {
public static void main(String[] args) {
String s = "0x123434";
s = s.substring(2, s.length());
long l = Long.parseLong(s, 16);
System.out.println("long value:" + l);
while (s.length() < 9) {
s = "0" + s;
}
byte[] b = s.getBytes();
System.out.print("Byte value:");
for (int i = 0; i < b.length; i++) {
System.out.print("\t"+ b[i]);
} }
}
我的意思是说有一个String s="0x12123434",我想把它放进一个byte数组中,数组的内容如下:
byte[0]=0x34; byte[1]=0x34; byte[2]=0x12; byte[3]=0x12; byte[4]=0x00 ....
byte数组的长度为8!!!我是一个java初学者,希望大家多帮忙!!!
s = s.substring(2);
long len = Long.parseLong(strlen,16);
byte[] bytearr = new byte[8];
for (int i = 0; i < 8; i++){
bytearr[i] = (byte)((data >> (i * 8)) & 0xFF);
}
应该是这个意思吧!!
打印的时候把bytearr用16进制显示就是了!