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];
就可以获得原来的字符了。