我正在尝试将字符串(或单个字符)转换为java中给定数字的二进制字符串。假设给定的数字是5,那么字符串“zx~q”变为01101,10110,11011,10011(我已经构成了二进制文件)。但是,我需要再次将这些二进制文件恢复为“abcd”。如果给定数字更改,则数字(因此二进制文件)将更改。
有人有想法吗?
PS:Integer.toBinaryString()
变为8位二进制数组。
答案 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);