GZIP at BZIP2

Anonim

GZIP vs BZIP2

Ang GNU zip (kilala rin bilang GZIP) ay isang software application na may layuning i-compress ang mga file. Ito ay orihinal na nilayon upang palitan ang programa ng compress na ginamit sa mga sistema ng unang Unix - upang magamit sa Programa ng GNU (isang libreng proyekto ng software).

Ang BZIP2 ay isang open source lossless data compression algorithm - talaga, isang uri ng mga algorithm ng compression ng data na posible para sa orihinal na data ng isang naka-compress na file upang ganap na muling maitayong muli mula sa compressed data.

Ang GZIP ay batay sa isang algorithm na kilala bilang DEFLATE. Ito ay isang lossless algorithm compression data. Ginagamit nito ang parehong algorithm ng LZ77 at Huffman coding. Mahalaga, ang GZIP ay tumutukoy sa format ng file ng parehong pangalan. Ang format na ito ay isang header ng 10-byte na naglalaman ng isang magic number (na nangangahulugan ng numerical o halaga ng teksto na hindi kailanman nagbabago at ginagamit upang magpahiwatig ng isang format ng file o protocol, isang walang pangalan na de-numerong halaga na hindi kailanman nagbabago, o naiibang mga halaga na hindi maaaring mali para sa anumang bagay), dagdag na mga header na maaaring o maaaring hindi tunay na kinakailangan (orihinal na pangalan ng file, halimbawa), isang katawan na naglalaman ng isang DEFLATE -compressed kargamento (na kung saan ay ang data na ang mga header carry), at isang 8-byte footer na naglalaman ng CRC-32 checksum, pati na rin ang aktwal na haba ng orihinal na hindi na-compress na data.

Mayroong iba't ibang mga diskarte sa compression na ginagamit ng format ng BZIP2, na nakasalansan sa isa't isa sa maraming mga layer. Nangyayari ito sa isang napaka-natatanging pagkakasunud-sunod: Run-length encoding (na kung saan ay ang anumang pagkakasunud-sunod ng apat sa 255 mga dobleng simbolo na pinalitan ng unang apat na simbolo, at isang haba ng coding na uulit sa pagitan ng 0 at 251), Burrows-Wheeler transform (na kung saan ay ang nababaligtad na bloke-uri na bumubuo sa pinaka-core ng BZIP2), Ilipat sa harap (umalis sa laki ng naprosesong bloke na hindi nabago), Run-length encoding (na binubuo ng mahabang mga hibla ng mga simbolo - kadalasang zero - na patuloy ulitin sa output, at papalitan ng parehong simbolo at isang pagkakasunud-sunod ng dalawang mga code), Huffman coding (na isang proseso na pumapalit sa mga nakapirming haba ng mga simbolo ng 8-bit na byte sa pagbabago ng mga code ng haba), Maramihang Hoffman coding (na binubuo ng maraming mga talahanayan ng Hoffman ng magkakaparehong sukat), Unary base 1 encoding, Delta encoding, at Sparse bit array.

Buod:

1. GZIP ay isang libreng application na ginamit upang i-compress ang mga file; Ang BZIP2 ay isang open source lossless data compression algorithm na ginagawang posible upang makuha ang orihinal na data ng isang naka-compress na file.

2. GZIP ay binubuo ng isang 10-byte header, opsyonal na header, isang katawan, at isang 8-byte footer; Ang BZIP2 ay binubuo ng hindi kukulangin sa siyam na layers ng mga diskarte sa compression.