如何将字符串的二进制表示形式转换回字符串?

问题描述:

我有一个字符串被转换为二进制与每个字符上的Integer.toBinaryString()。二进制字符串然后有点损坏(随机位翻转),我想将它转换回字符串。在java中有没有简单的方法呢?如何将字符串的二进制表示形式转换回字符串?

+0

你是如何将字符串转换为Integer.toBinaryString()的二进制字符串的?该方法的输入是一个整数,而不是一个字符串。 – brydgesk 2010-04-09 15:59:00

+0

获取字符串的每个字符,将其转换为整数以获取ascii值,然后使用integer.tobinarystring。 – Terri 2010-04-09 16:04:19

是的,你可以很容易地使用Integer.parseInt(String s, int radix)来做到这一点。

在你的情况下,基数是2,所以你只需要将你的整个二进制字符串分成8个字符的子字符串并使用Integer.parseInt(substring, 2)。然后你将它们转换为字符,并将它们连接起来。

+0

有趣。我从来没有见过这种用过的。同样,将从十六进制转换完成与基数16?或者我错误地解释了使用情况? – Terri 2010-04-09 16:03:45

+0

是的,就是这样.. – Jack 2010-04-09 16:21:33