В настоящее время я работаю над декодированием huffman. У меня есть String
представление всех кодировок символов (например, «1101000100000001»). Я пытаюсь разбить его на группы по 8 и вернуть его соответствующее значение (т. Е. «11010001» вернет 209). Однако, похоже, он не работает с меньшими файлами. Ниже приведен код, который у меня есть. Заранее спасибо за вашу помощь!Последовательность разделения 1 и 0 в байтах
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]);
}
P.S. Некоторые части, которые я взял из Интернета, так что я не в полной мере понять его (например, target |= 1<< bitCount
)
Любые конкретные предпочтения языка? – CodyBugstein
Простите, пожалуйста, Java! – somtingwong
Я думаю, вы должны использовать его с 0s –