日期:2014-05-20  浏览次数:20783 次

一个关于数据类型之间转换的问题,再线等 谢谢
String   str   =   "ABC12345 ";  

char[]   cha   =   new   char[str.length()];
String   stu   =   " ";
for   (int   i   =   0;   i   <   cha.length;   i++)   {
cha[i]   =   str.charAt(i);
stu   +=   Integer.toBinaryString((int)   cha[i]);
}
此时的stu= "100000110000101000011110001110010110011110100110101 ";

我想请问这时候如何写个方法,把这个字符串转stu换成字母和数字

------解决方案--------------------

public class Test
{
public static void main(String[] args)
{
String str = "ABC12345 ";

char[] cha = new char[str.length()];
String stu = " ";
for (int i = 0; i < cha.length; i++)
{
cha[i] = str.charAt(i);
stu += cha[i];
}
System.out.println(stu);

}


你想要什么呀
------解决方案--------------------
关注
------解决方案--------------------
问题是你所得到的stu的长度并不8的整数倍呀,有些字符的高位零都被略去了,又没有什么分隔符,要么加上分隔符或者补足8位就可以了。再将这一串按8位分开,使用Character.toChars(Integer.parseInt( "01101101 ",2))[0];
就可以获得原来的字符了。