Huffmani kodeerimise simulaator
Sisesta tekst ja vaata, kuidas Huffmani kodeerimine määrab märkidele bitikoodid ning kui palju bitte algne UTF-8 ja Huffmani koormus kasutavad. Hariv ja tasu…
Alusta kasutamist
Mida tööriist teeb ja kuidas tulemust lugeda
See simulaator on õppevahend, mitte päris failikompressor. See võtab sisestatud teksti ja ehitab Huffmani puu, määrates igale erinevale märgile bitikoodi. Näiteks teksti ABBC puhul on algne UTF-8 maht 32 bitti (4 tähte × 8 bitti), Huffmani kasulik koormus on 6 bitti (A: 1 bitt, B: 1 bitt, C: 2 bitti). Tulemus näitab iga märgi koodi, näiteks A: 0, B: 10, C: 11.
Kuidas arvutus käib
Simulaator loendab märkide sagedused ja ühendab kaks kõige haruldasemat sõlme, kuni puu on valmis. Kui sagedused on võrdsed, võivad koodid erineda, kuid kaalutud bitipikkus on see, mis loeb. Kui tekstis on ainult üks erinev märk, saab see koodi 0.
Piirangud ja märkused
- Tööriist ei tekita arhiivifaili, dekompressorit ega allalaetavat binaarfaili.
- Huffmani kasulik koormus ei sisalda kooditabelit, puud, päiseid ega muud üldkulu, seega pole see päris faili suurus.
- Sisestatud teksti piir on 100 000 UTF-16 koodiühikut, mitte UTF-8 baiti ega kasutaja tajutavat tähemärki. Paljud emotikonid võtavad 2 koodiühikut.
- Tühikud, reavahetused ja kombineerivad märgid on eraldi märgid; näiteks emoji jada võib koosneda mitmest koodipunktist.
- JSON-vormingus väljund võib näidata tühikuid ja reavahetusi koodina nagu
\n, mitte nähtava reavahetusena.
Korduma kippuvad küsimused
Miks on tulemuses märkide koodid erinevad, kui sagedused on võrdsed?
Kui kahel märgil on sama sagedus, võib Huffmani puu ehitamise järjekord mõjutada koode. See on normaalne; oluline on keskmine bitipikkus, mitte konkreetne kood.
Kas ma saan seda kasutada failide tihendamiseks?
Ei, see on hariv simulaator. See ei tekita tihendatud faili ega dekompressorit. Tulemus näitab ainult teoreetilist bitisäästu ilma päise ja kooditabelita.
Miks ei saa ma sisestada tühja teksti?
Tühja teksti korral pole märke, mida kodeerida, seega tööriist lükkab selle tagasi. Palun sisesta vähemalt üks märk.
Kontrollnimekiri
- Sisesta lühike tekst, et tulemust oleks lihtne lugeda.
- Kontrolli, et märkide koodid ja bitipikkused on loetavad.
- Võrdle algset UTF-8 mahtu ja Huffmani kasulikku koormust.
- Pärast iga katset tühjenda väli, et alustada puhtalt.
Töötlemine toimub kohalikult teie brauseris.