1. A method of bit-stream Huffman coding for data compression, the method comprising the steps of: obtaining a dataset to be compressed, the dataset containing a plurality of bytes of data, each byte having a same number of bits; defining a symbol length based on a length of the dataset, the symbol length defining a length of symbols to be used in a Huffman coding process to compress the data of the dataset, the symbol length being defined without regard to the number of bits in a byte; converting the dataset to a bit stream; encoding the bit stream using the Huffman coding process by extracting symbols with the defined symbol length from the bit stream and outputting Huffman codes corresponding to the extracted symbols to generate a compressed dataset.