Patent ID: 11742877

Abstract:
Examples of the disclosure describe systems and methods for implementing a file compression system. In an example method, a source string to be compressed is received. The source string comprises a plurality of characters. A first frequency is determined for each character of the plurality of characters of the source string. A first tree corresponding to the source string is determined based on the first frequencies. The source string is encoded using the first tree to generate a first encoded string. It is determined whether a total number of bits in the first encoded string is a multiple of eight. In accordance with a determination that the total number of bits in the first encoded string is not a multiple of eight, the first encoded string is appended with zeroes so that a new total number of bits in the first encoded string is a multiple of eight. In accordance with a determination that the total number of bits in the first encoded string is a multiple of eight, the method forgoes appending the first encoded string with zeroes. The first encoded string is divided into one or more eight-bit segments and a placeholder character is assigned to each eight-bit segment. A second frequency for each of the placeholder characters in the first encoded string is determined. A second tree corresponding to the first encoded string is determined based on the second frequencies. The first encoded string is encoded using the second tree to generate a second encoded string.