private static int readBits(byte gzip[],int n)
{
int data=(gzipBit==0?(gzipByte=(gzip[gzipIndex++]&0xFF)):(gzipByte>>gzipBit));
for (int i=(8-gzipBit);i<n;i+=8)
{
gzipByte=(gzip[gzipIndex++]&0xFF); data|=(gzipByte<<i);
}
gzipBit=(gzipBit+n)&7;
return (data&((1<<n)-1));
}
{
int data=(gzipBit==0?(gzipByte=(gzip[gzipIndex++]&0xFF)):(gzipByte>>gzipBit));
for (int i=(8-gzipBit);i<n;i+=8)
{
gzipByte=(gzip[gzipIndex++]&0xFF); data|=(gzipByte<<i);
}
gzipBit=(gzipBit+n)&7;
return (data&((1<<n)-1));
}