public int[] getTags(byte[] value, int start, int length) { var tagShift = CompressUtil.zlibDecoder(value.Skip(start).Take(length).ToArray()); byte[] byteValue = new byte[tagShift.Length * 8]; for (int i = 0; i < tagShift.Length; i++) { for (int j = 0; j < 8; j++) { byteValue[8 * i + j] = (byte)(((tagShift[i] & 0xff) >> j) & 1); } } int digit = mzCompressor.digit; int[] tags = new int[byteValue.Length / digit]; for (int i = 0; i < tags.Length; i++) { for (int j = 0; j < digit; j++) { tags[i] += byteValue[digit * i + j] << j; } } return(tags); }
public int[] getTags(byte[] value) { var byteBuffer = CompressUtil.zlibDecoder(value); byte[] byteValue = new byte[byteBuffer.Length * 8]; for (int i = 0; i < byteBuffer.Length; i++) { for (int j = 0; j < 8; j++) { byteValue[8 * i + j] = (byte)(((byteBuffer[i] & 0xff) >> j) & 1); } } int digit = mzCompressor.digit; int[] tags = new int[byteValue.Length / digit]; for (int i = 0; i < tags.Length; i++) { for (int j = 0; j < digit; j++) { tags[i] += byteValue[digit * i + j] << j; } } return(tags); }