将二进制字符串写入文件

问题描述 投票:0回答:1

我正在制作一个压缩工具,到目前为止,我已经可以将二进制字符串写入文件了。将其写入文件后,我发现它并没有像我希望的那样将带有 0 和 1 的字符串写为二进制(我现在看到这应该是显而易见的)。

有没有办法将一串位(0 和 1)作为二进制写入文件。我做了相当多的研究,发现有些人说我必须转换为

byte[]
。如果我有一个长度不能被 8 整除的字符串,我不确定这是如何工作的。我是否需要确保我的位字符串能被 8 整除?

提出问题的一个更简单的方法是:如果我有字符串

"0101100011"
(10 长),我如何将其写入二进制文件?

我没有处理过位字符串或以二进制方式写入文件,所以如果我错过了一些简单的东西,我提前道歉。

java string byte binaryfiles
1个回答
0
投票

Java 中不存在二进制字符串这样的东西。字符串就是字符串(例如“hello world”),二进制数据序列通常由字节数组(

byte[]
)表示。包含“1”和“0”的字符串不是二进制数据。它是一个包含数字字符的字符串。

由于字节有 8 位,因此您必须为数组的每个元素完成一个完整字节。

如果您需要了解如何将 1 和 0 的字符串转换为字节数组,请搜索以前的答案,如下所示:https://stackoverflow.com/a/40841606/721855

© www.soinside.com 2019 - 2024. All rights reserved.