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换成字母和数字

解决方案 »

  1.   


    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); }你想要什么呀
      

  2.   

    stu是个二进制的字符串,我想把它按8位截取,然后再恢复成类似这种形式的"ABC12345"字符串
      

  3.   

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