我目前正在研究霍夫曼解码。我有String
所有字符编码的表示(即“1101000100000001”)。我试图将它分成 8 组并返回其相应的值(即“11010001”将返回 209)。但是,它似乎不适用于较小的文件。以下是我拥有的代码。预先感谢您的帮助!
for(char bit : textbytes.toCharArray())
{
if(bit == '1')
{
target |= 1 << bitCount;
}
bitCount++;
if(bitCount >= 8)
{
bitCount = 0;
bits.add(target);
target = 0;
}
}
byte[] bitstring = new byte[bits.size()];
for(int i = 0; i < bits.size(); i ++)
{
bitstring[i] = bits.get(i);
compressedFile.write(bitstring[i]);
}
PS 部分部分是从网上截取的,不是很懂(如target |= 1<< bitCount
)