【问题标题】:How to turn Binary String into text?如何将二进制字符串转换为文本?
【发布时间】:2015-08-14 00:35:08
【问题描述】:

我正在做一个个人项目。我想创建一个加密程序,让您使用密钥加密和解密字符串。几乎完成了,只需要最后一部分的帮助。我想将二进制字符串转换为文本。 假设二进制结果(我想将其转换为普通文本)是:

01001000011000010110100001100001

这个转换成文字就是“哈哈”。

注意:我只使用 BigIntegers,因为我使用的几乎每个数字对于普通 Integer 来说都太大了。

编辑:使用此代码找到答案:

    StringBuffer output = new StringBuffer();
for (int i = 0;i < input.length();i += 8) {
  output.append((char) Integer.parseInt(input.substring(i, i + 8), 2));
}
       System.out.println(output);

【问题讨论】:

标签: java string binary biginteger


【解决方案1】:

此代码将在一行中完成:

String str = "01001000011000010110100001100001";

String decoded = Arrays.stream(str.split("(?<=\\G.{8})"))
    .map(s -> Integer.parseInt(s, 2))
    .map(i -> "" + Character.valueOf((char)i.intValue()))
    .collect(Collectors.joining("")); // "Haha"

它可能会变得更漂亮,但我手边没有 IDE(只是在手机上翻了一下)。

您会注意到BigInteger 不是必需的,并且此代码处理任意大长度的输入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-19
    • 2012-01-06
    • 2021-02-24
    相关资源
    最近更新 更多