internal void ByteCompaction(int start, int length) {
int k, j;
int size = (length / 6) * 5 + (length % 6);
if (size + cwPtr > MAX_DATA_CODEWORDS) {
throw new ArgumentOutOfRangeException("The text is too big.");
}
length += start;
for (k = start; k < length; k += 6) {
size = length - k < 44 ? length - k : 6;
if (size < 6) {
for (j = 0; j < size; ++j)
codewords[cwPtr++] = (int)text[k + j] & 0xff;
}
else {
ByteCompaction6(k);
}
}
}