Example #1
0
def decode(fin, fout, size):
    root = read_tree(fin) # ハフマン木の読み込み
    while size > 0:
        node = root
        while node.code is None:
            if fin.getbit() == 0:
                node = node.left
            else:
                node = node.right
        BitIO.putc(fout, node.code)
        size -= 1
Example #2
0
def read_file(fin):
    while True:
        c = BitIO.getc(fin)
        if c is None: break
        yield c