README of supported languages: English | 简体中文
Huffman coding is a popular algorithm used for lossless data compression. It assigns variable-length codes to input characters, with shorter codes for more frequent characters, resulting in efficient compression.
This tool is developed based on Electron, React, and C++, allowing encoding and decoding of text using the Huffman algorithm while ensuring performance, software aesthetics, and user-friendliness, and providing visual rendering of the Huffman tree.
Waiting for user input or uploading a file to be encoded
Waiting for user confirmation to encode
Program returns the encoding result
Waiting for user input or uploading a file to be decoded
Waiting for user confirmation to decode
Program returns the decoding result
Waiting for user input or uploading the encoding table
Program returns the rendered Huffman tree
$ npm install
# For Windows
$ npm run build:win
# For macOS
$ npm run build:mac
# For Linux
$ npm run build:linux
src\backend
contains code for plugins written in C++, you need to set up the environment accordingly before development, please refer to "How to Write Plugins for Node.js Applications".
src\renderer
contains code for the rendering process of the Electron application.
src\main
contains code for the main process of the Electron application.
$ npm run dev