pip install range-coder
fromrange_coderimportRangeEncoder, RangeDecoder, prob_to_cum_freqdata= [2, 0, 1, 0, 0, 0, 1, 2, 2] prob= [0.5, 0.2, 0.3] # convert probabilities to cumulative integer frequency tablecumFreq=prob_to_cum_freq(prob, resolution=128) # encode dataencoder=RangeEncoder(filepath) encoder.encode(data, cumFreq) encoder.close() # decode datadecoder=RangeDecoder(filepath) dataRec=decoder.decode(len(data), cumFreq) decoder.close()