一个简单的问题? 如何将一个16进制的字符串"F00F 000D 2007 0119 1758 4829"转换成二进制字符串?然后,如何再把转换成的二进制串的前三位转换成16进制的字符串? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String []ss = "F00F 000D 2007 0119 1758 4829".split(" "); String []bin = new String[ss.length ]; int[] ii = new int[ss.length ]; for(int i=0;i<ss.length ;i++){ ii[i]=Integer.parseInt(ss[i],16); bin[i] = Integer.toBinaryString(ii[i]); } for(int i=0;i<ss.length ;i++){ ss[i] = Integer.toHexString(Integer.parseInt(bin[i].substring(0,3),2)) +bin[i].substring(3,bin[i].length()); } String a = "F00F 000D 2007 0119 1758 4829"; char[] b = a.toCharArray(); //二进制结果 StringBuffer binaryResult = new StringBuffer(a.length()); for (int i=0 ; i <b.length ; ++i){ if (b[i]!=' '){ binaryResult.append(Integer.toBinaryString(Integer.parseInt(String.valueOf(b[i]),16))); } else { binaryResult.append(' '); } } //16进制结果 System.out.println(Integer.toHexString(Integer.parseInt(binaryResult.substring(0,3)))); 如何将Java中的两个Object进行比较? java多个线程做不同的工作 long的除法问题,这个代码是否正确 关于java字符编码 打包的问题??? 关于jdk1.4里面的jvm.dll,找不到,怎么办?谁知道怎么在C中调用Java方法? 为啥含有ActiveX的htm网页文件在网络上运行有问题!? 这么简单的问题,应该很快有回复吧?刷新等待中 threads 问题. 线程中的yield()问题! 转搞java,求一学习途径 请教问题!!
String []bin = new String[ss.length ];
int[] ii = new int[ss.length ];
for(int i=0;i<ss.length ;i++){
ii[i]=Integer.parseInt(ss[i],16);
bin[i] = Integer.toBinaryString(ii[i]);
}
for(int i=0;i<ss.length ;i++){
ss[i] = Integer.toHexString(Integer.parseInt(bin[i].substring(0,3),2))
+bin[i].substring(3,bin[i].length());
}
char[] b = a.toCharArray();
//二进制结果
StringBuffer binaryResult = new StringBuffer(a.length());
for (int i=0 ; i <b.length ; ++i){
if (b[i]!=' '){
binaryResult.append(Integer.toBinaryString(Integer.parseInt(String.valueOf(b[i]),16)));
} else {
binaryResult.append(' ');
}
}
//16进制结果
System.out.println(Integer.toHexString(Integer.parseInt(binaryResult.substring(0,3))));