java - 如何在 Java 中将字符串的二进制表示形式转换为字节?

标签 java string binary byte

正如标题所说,我该怎么做?从字符串 -> 字节 -> 字符串二进制转换很容易,但是我该如何转换回来呢?下面是一个例子。 输出是: 'f' 到二进制:01100110 294984

我在某处读到我可以使用 Integer.parseInt 但显然情况并非如此 :( 或者我做错了什么?

谢谢, :)

public class main{
    public static void main(String[] args) {

         String s = "f";
          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;
             }
             binary.append(' ');
          }
          System.out.println("'" + s + "' to binary: " + binary);

        System.out.println(Integer.parseInt("01100110", 2));
    }
}

最佳答案

您可以使用 Byte.parseByte()基数为 2:

byte b = Byte.parseByte(str, 2);

使用你的例子:

System.out.println(Byte.parseByte("01100110", 2));
102

关于java - 如何在 Java 中将字符串的二进制表示形式转换为字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18600012/

相关文章:

java - 如何从目录中选择特定的输入文件到Mapreduce程序

c - 在结构中初始化 main vs 中的 char 数组

1000 - 0110 的二进制减法借用逻辑?

javascript - JS 中二进制处理的字节顺序

JavaScript 从左侧开始设置位

java - 无法让程序在特定字符串上中断

java - 这个在 Spring 中处理 POST 请求的 REST 方法到底是如何工作的?

excel - 将二维分隔字符串解析为范围

string - Elasticsearch.NET搜索记录以字符串字段(NEST)中的值开头

java - 在 Eclipse 中提取类