abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Zajímavý software

    Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.

    Ladislav Hagara | Komentářů: 0
    13.6. 15:22 | IT novinky

    Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.

    Ladislav Hagara | Komentářů: 8
    13.6. 02:22 | Nová verze

    Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.

    Ladislav Hagara | Komentářů: 0
    12.6. 16:33 | Bezpečnostní upozornění

    V Arch User Repository (AUR) bylo kompromitováno přes 400 opomíjených balíčků (jejich seznam). Útočník do nich začlenil škodlivý npm balíček atomic-lockfile, který krade citlivá data uživatelů. Publikována byla předběžná analýza spouštěného malwaru deps.

    Ladislav Hagara | Komentářů: 13
    12.6. 11:33 | Nová verze

    Homebrew, správce balíčků nejen pro macOS, byl vydán ve verzi 6.0.0 (seznam změn). Hlavními novinkami jsou bezpečnostní mechanismus tap trust kvůli důvěryhodnosti závislostí, vylepšení sandboxingu na Linuxu, interní JSON API nebo zlepšení výkonu.

    |🇵🇸 | Komentářů: 0
    12.6. 03:33 | Bezpečnostní upozornění

    Byla nalezena a 9. června opravena kritická zranitelnost ve FreeBSD v Kernel TLS (KTLS). Pojmenována byla Bumsrakete (FreeBSD-SA-26:26.ktls, CVE-2026-45257). Lokální neprivilegovaný uživatel může přepisovat soubory, ke kterým má právo pouze pro čtení. Přepsáním setuid binárky a jejím spuštěním může získat roota. Na všech verzích od verze 13.0 vydané v dubnu 2021.

    Ladislav Hagara | Komentářů: 2
    11.6. 14:11 | Komunita

    Vývojáři open source operačního systému ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, se na síti 𝕏 pochlubili, že ReactOS zvládne počítačovou hru Half-Life.

    Ladislav Hagara | Komentářů: 5
    11.6. 10:44 | Nová verze

    Byla vydána nová verze 4.8 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    11.6. 04:44 | Nová verze

    Apple container dospěl do verze 1.0.0. Jedná se o open source nástroj pro spouštění linuxových kontejnerů na macOS postavený nad containerization. Napsaný je v programovacím jazyce Swift a optimalizovaný pro Apple silicon.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1909 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Huffmanovo kódování

    20.9.2014 20:02 Oxydentist
    Huffmanovo kódování
    Přečteno: 626×
    Ahoj, snažím se implementovat Huffmanovo kódování. Narazil jsem na to, že vlastně nevím, jak výsledný kód uložit. Protože když ho uložím klasicky do textového nebo binárního souboru, jednotlivé znaky kódu se převedou dle ASCII, takže je vlastně výsledný soubor větší, než původní.

    'ahoj' v ASCII je 01000001 01001000 01001111 01001010. Já to zakóduju jako 01 00 11 10, ale když chci tuto část kódu uložit, transformuje se na: 0011000000110001 0011000000110000 0011000100110001 0011000100110000.

    Co s tím? Jde nějak zapisovat do (binárního) souboru po jednotlivých bitech, tak, abych z něj mohl opět číst? Dělám v Pascalu.

    Díky za rady.

    Řešení dotazu:


    Odpovědi

    20.9.2014 20:13 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Huffmanovo kódování
    Musíš to zapsat po bitech. V daném případě bude výsledek zabírat jen jeden byte 01001110. Tento byte si musíš nejprve spočítat v Pascalu a teprve pak zapsat.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    20.9.2014 20:39 Oxydentist
    Rozbalit Rozbalit vše Re: Huffmanovo kódování
    Můžeš mě někam odkázat nebo trochu postrčit správnym směrem? Nějak se mi nedaří zapisovat po bitech a ani se mi nic nedaří vygooglit... Dík
    20.9.2014 20:52 Tomáš Heger (geckon) | skóre: 62 | Praha/Valašsko
    Rozbalit Rozbalit vše Re: Huffmanovo kódování
    Pomohlo by ti třeba tohle?

    Bit manipulation
    20.9.2014 21:13 Oxydentist
    Rozbalit Rozbalit vše Re: Huffmanovo kódování
    Abych se pžiznal, moc moudrý z toho nejsem. Nebylo by něco víc pro zelenáče? Nebo je manipulace s bity (v rozsahu, který potřebuju) vyšší dívčí?
    Jendа avatar 20.9.2014 23:13 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Huffmanovo kódování
    Potřebuješ v podstatě umět
    VAR
      byte x := 0
    END_VAR
    
    x := x OR (1 shl 5) { nastaví pátý bit x }
    
    (pokud jsem použil směs Basicu a Pascalu, tak se omlouvám)
    Nebo je manipulace s bity (v rozsahu, který potřebuju) vyšší dívčí?
    Není.
    20.9.2014 23:07 Sten
    Rozbalit Rozbalit vše Re: Huffmanovo kódování
    Do souborů se dá zapisovat jedině po celých bajtech. Pokud tedy máte znaky jinak velké (nejen menší, třeba u LZO jsou naopak větší), musí je váš program převést na celé bajty. To můžete udělat třeba pomocí bufferu, do kterého zapisujete jednotlivé (libovolně velké) znaky a on zapíše do výstupního souboru vždy, když nahromaděné znaky obsadí celý bajt.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.