diff --git a/unpack.rb b/unpack.rb new file mode 100755 index 0000000..e798ee7 --- /dev/null +++ b/unpack.rb @@ -0,0 +1,41 @@ +#!/usr/bin/env ruby + +$:.unshift(File.dirname(__FILE__)) +require 'huffman.rb' +require 'thing.rb' + +def inflate(data) + Zlib::Inflate.inflate(data) +end + +# there is not a difference for us, in these two +def inflate2(data) + zlib = Zlib::Inflate.new(15) + buff = zlib.inflate(data) + zlib.finish + zlib.close + buff +end + +def load_dictionary(data) + data.split("\x00") +end + +if $0 == __FILE__ + abort("usage: %s ..." % __FILE__) unless (ARGV.length > 0) + + ARGV.each do |arg| + file = File.open(arg) + + z_data = file.read() + data = inflate(z_data) + puts "data is:" + puts load_dictionary(data).map {|x| "\t#{x}" } + + puts "dictionary stats:" + puts "\tcompressed size: %d" % z_data.bytesize() + puts "\tuncompressed size: %d" % data.bytesize() + end +end + +