java - 二进制字符串到原始字节

标签 java java-io

有一个二进制字符串:

String binaryString = "101101010111001011111000";

该字符串长度为24,因此可以转换为3个字节。

字节可以包含的数字是-128到127,但在原始格式中它包含8位。

说:binary110110101binary201110010binary311111000

我想将此二进制字符串转换为原始字节,但是当我尝试时

Byte.parseByte(binary1,2);

但是此方法使用 int 进行转换,并且适用字节范围的限制。

我想把这个binaryString以字节的形式写入文件。

如何解决原始字节包含 8 位且不进行像数字或 int 这样的处理的问题?

最佳答案

以下应该有效:

byte theByte = (byte) Integer.parseInt("10101010", 2);

解析后的字符串不得长于8,否则变量theByte中将只有最右边的8位。

请确保使用适当的工具检查您的输出(不要使用文本编辑器!)。

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

相关文章:

java - 如何改变JProgressbar的 "string painted"的颜色?

java - 将文件保存到在同一 Tomcat 实例中运行的另一个 Web 应用程序(不工作)

java - NoSuchMethodError : org. hibernate .SessionFactory.getCurrentSession()

在android中解压时发生java.io.FileNotFoundException

java - ScheduledExecutorService 的使用和流内锁定套接字的清理

java - 在 Swing UI View 中更新表数据时出现问题

java - 联盟搜索算法

java - 奇怪的 FileInputStream/Data FileInputStream 行为 : seek()ing to odd positions

java重复输出的一部分

java - 在Linux上运行的Java代码中,如何指向共享的Windows文件夹?