gpt4 book ai didi

java - 在 Android Java 中将位保存在字节流中?

转载 作者:行者123 更新时间:2023-12-01 09:30:47 25 4
gpt4 key购买 nike

我需要保存一个二进制流,稍后将其转换为文本。由于 Java 中不存在二进制流,因此我只是将“位”保存在“字节”流中,只是为了测试我的代码。现在我有一个字节流,其中 1 位编码在 1 个字节上。

byte [] stream = new byte [1500];
int str = 0;
byte [] data = new byte [1];
for (int i = 0; i<original.cols(); i++)
{
for (int j= 0; j<original.rows(); j++)
{
original.get(j,i, data);

if ((data[0]==0))
{
stream [str]=0;
str = str+1;
}
else
{
stream [str]=1;
str = str+1;
}
}

}

任何人都可以帮助我正确保存以字节流编码的位,其中 1 个字节代表 8 位吗?

最佳答案

一个java.util.BitSet包含用于处理原始位以及与字节数组之间的转换的辅助方法。在以下示例中,bytes 将包含单个字节:

int numberOfBits = 8;
BitSet bitSet = new BitSet(numberOfBits);
bitSet.set(3, true);
bitSet.set(7, true);

byte[] bytes = bitSet.toByteArray();

关于java - 在 Android Java 中将位保存在字节流中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39425245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com