java |二进制字符串转字节

标签 java binary byte

我想将一个由8个二进制数组成的字符串转换为一个字节。 我试过这个方法:

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

如果字符串是“00000000”,则可以正常工作,但如果字符串是“11111111”,则不起作用。

我怀疑这与 Radix 有关,但我无法弄清楚。

最佳答案

  1. 使用基数为 2Integer.parseInt,如下所示 Integer.parseInt("11111111", 2)
  2. 然后,如果您确实希望将其作为 byte,只需将整数转换为 byte,如下所示 (byte) intValue

所以完整的代码是:

System.out.println((byte) Integer.parseInt("11111111", 2));

输出:

-1

注意:为什么是-1?因为 byte 是一个从 -128127 的 8 位有符号整数,所以这里不是 255 你获取-1

关于 java |二进制字符串转字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37207277/

相关文章:

c - 为什么我不能在C编程中将char写入二进制文件?

java - 使用带有 Java 的 Selenium WebDriver 在浏览器选项卡之间切换

java - 场景生成器,如何配对 ComboBoxs 选择

java - Java 导入中的通配符如何工作?

c# - 如何正确地覆盖平等?

java - Java 中字节的编码/解码是如何工作的?

java - 如何在 Java 中使用 'run as' 动词请求海拔高度

python - 在 python 中简单编辑二进制文件

linux - 如何在 Linux 上将十六进制字符串转换为字节字符串

java - 来自特定字节的 md5 文件校验和