java - 将二进制字符串解析为文本/字符

标签 java

我可能忽略了一些愚蠢的事情,但我从来没有在代码中处理过二进制,并且认为在加密程序中练习它是个好主意,为了好玩。 长话短说,我能够将字符串转换为二进制(以字符串的形式),但无法弄清楚如何进行相反的操作。

现在,我有这样的东西:

public static String bytesToString(String bytes){
    int i = bytes.length()/8;
    int pos = 0;
    String result = "";
    for(int j=0; j<i; j++){
        String temp = bytes.substring(pos,pos+8);
        byte b = (byte) Integer.parseInt(temp);
        result = result + Byte.toString(b);
        pos++;
    }
    System.out.println("Result: " + result);
    return result;
}

我认为字节被解析为文字数字。我错过了什么? 编辑:为了澄清,我之前将一串文本解析为位并将它们写入字符串。我想将这个字符串拆分成字节并将它们解析回字母。它需要“011010000110010101111001”并返回“嘿”。

最佳答案

如何使用 Integer.parseInt(text, 2) ?如,

public static int binaryToInt(String binary)
{
    return Integer.parseInt(binary, 2);
}

我不确定为什么您的 binaryToString 方法既接受返回一个字符串。

关于java - 将二进制字符串解析为文本/字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6222526/

相关文章:

Java——如何动态引用对象的属性?

java - 从 LinkedList 中删除重复项,其中嵌套的集合项可以按任意顺序排列

java - 如何在 Java 中引用匿名或嵌套类的包含类

java - Apache POI excel 按特定顺序打印小计

java - 需要帮助为我的工作面试代码示例编写比较器

java - 带有 Predicate 的 Spring Data JPA 方法 findAll() - QueryDslPredicateExecutor

Java SOCKS 代理

java - 获取无法生成DH key 对异常

java - 用于 Java 和 Scala 开发的 Maven 替代品

java - 计算二进制数中 1 的最佳方法