1

我正在尝试将字符串(或单个字符)转换为 java 中给定位数的二进制字符串。假设给定的数字是 5,所以字符串“zx~q”变为 01101、10110、11011、10011(我已经编写了二进制文件)。但是,我需要再次将这些二进制文件恢复为“abcd”。如果给定的数字发生变化,则数字(因此二进制文件)将发生变化。

有人有想法吗?

PS:Integer.toBinaryString()变成8位二进制数组。

4

2 回答 2

2

看起来像Integer.toString(int i, int radix)并且Integer.parseInt(string s, int radix)会做的伎俩。

于 2013-03-17T18:45:41.870 回答
0

你可以这样实现。

要将abcd转换为 1010101111001101,

class Demo {
    public static void main(String args[]) {  
        String str = "abcd";
        for(int i = 0; i < str.length(); i++) {
            int number = Integer.parseInt(String.valueOf(str.charAt(i)), 16);
            String binary = Integer.toBinaryString(number);
            System.out.print(binary);
        }
    }
}

将 1010101111001101 转换为 abcd

String str = "1010101111001101";
String binary = Long.toHexString(Long.parseLong(str,2));
System.out.print(binary);
于 2013-03-17T18:49:06.107 回答