Skip to content

A tool based on Electron、 React and C++, allowing encoding and decoding of text using the Huffman algorithm.

License

Notifications You must be signed in to change notification settings

YoungZM339/huffman-coding

Repository files navigation

Huffman-Coding

License Issues Stars

Data Visualization Dashboard for Website Scoring

README of supported languages: English | 简体中文

Introduction

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.

Features

Encoding

Waiting for user input or uploading a file to be encoded

Encoding1

Waiting for user confirmation to encode

Encoding2

Program returns the encoding result

Encoding-success

Decoding

Waiting for user input or uploading a file to be decoded

Decoding1

Waiting for user confirmation to decode

Decoding2

Program returns the decoding result

Decoding-success

HuffmanTreeVisualize

Waiting for user input or uploading the encoding table

HuffmanTreeVisualize

Program returns the rendered Huffman tree

HuffmanTreeVisualize-success

Project Setup

Install

$ npm install

Build

# For Windows
$ npm run build:win

# For macOS
$ npm run build:mac

# For Linux
$ npm run build:linux

Development Guide

Tips

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.

Recommended IDE Setup

Dev

$ npm run dev

About

A tool based on Electron、 React and C++, allowing encoding and decoding of text using the Huffman algorithm.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published