在String中将String / char转换为指定位二进制字符串,反之亦然

时间:2013-03-17 18:42:08

标签: java string binary char

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

有人有想法吗?

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

2 个答案:

答案 0 :(得分:2)

看起来Integer.toString(int i, int radix)Integer.parseInt(string s, int radix)可以解决问题。

答案 1 :(得分: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);