/* * EncoderUtil * * Author: Lasse Collin * * This file has been put into the public domain. * You can do whatever you want with this file. */ package org.tukaani.xz.common; import java.io.OutputStream; import java.io.IOException; import java.util.zip.CRC32; public class EncoderUtil extends Util { public static void writeCRC32(OutputStream out, byte[] buf) throws IOException { CRC32 crc32 = new CRC32(); crc32.update(buf); long value = crc32.getValue(); for (int i = 0; i < 4; ++i) out.write((byte)(value >>> (i * 8))); } public static void encodeVLI(OutputStream out, long num) throws IOException { while (num >= 0x80) { out.write((byte)(num | 0x80)); num >>>= 7; } out.write((byte)num); } }