目前,我有一个值为“0100100001101001”的字符串(这是单词'Hi'的二进制)。我正在试图找出如何取出该字符串并将其转换回单词“Hi”
我用过
String s = "Hi";
byte[] bytes = s.getBytes();
StringBuilder binary = new StringBuilder();
for (byte b : bytes)
{
int val = b;
for (int i = 0; i < 8; i++)
{
binary.append((val & 128) == 0 ? 0 : 1);
val <<= 1;
}
}
s = binary.toString();
发现于: Convert A String (like testing123) To Binary In Java
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:2)
像...这样的东西。
BigInteger val = new BigInteger("0100100001101001", 2);
String hi = new String(val.toByteArray());
答案 1 :(得分:1)
另一种解决方案,多种多样。使用(char)
投射。将s
作为二进制String
:
String result = "";
for (int i = 0; i < s.length(); i += 8) {
result += (char) Integer.parseInt(s.substring(i, i + 8), 2);
}