そのアルゴリズムの解説としてはslideshare.net/7shi/deflateを始め優れたものがいろいろあるかと思いますが、実際のデータをエンコードして視覚化できるものがないのが不満でした。
というわけで、作った注1。
ソースコードは、github.com/kazuho/visiflateにあります。
こいつをダウンロードして動かすと、記事の末尾の出力結果のようにダラダラと、どのようにエンコードされているかが表示されます。
この出力を見ることで、例えば、不思議の国のアリスのテキストをgzipすると
テキスト | 圧縮長 (ビット) | 複製位置 |
---|---|---|
"Alice was beginning to get very tired of sitt" | 224 | なし |
"ing " | 13 | 29バイト前 |
"by her" | 32 | なし |
" si" | 11 | 15バイト前 |
"st" | 9 | なし |
"er " | 11 | 7バイト前 |
"on the bank, an" | 72 | なし |
"d of " | 13 | 42バイト前 |
のような感じにエンコードされることが分かります。
自分の好きなデータで試すことができて便利!という話でした。
PS. 以下は実行結果です。
% make % gzip < alice.txt > alice.txt.gz % ./puff -10 alice.txt.gz puff() succeeded uncompressing 1328 bytes 8 compressed bytes unused inpos=406,inbits=224,outpos=0,outbytes=45 41 6c 69 63 65 20 77 61 73 20 62 65 67 69 6e 6e 69 6e 67 20 74 6f 20 67 65 74 20 76 65 72 79 20 74 69 72 65 64 20 6f 66 20 73 69 74 74 A l i c e w a s b e g i n n i n g t o g e t v e r y t i r e d o f s i t t inpos=630,inbits=13,outpos=45,outbytes=4,distance=-29 69 6e 67 20 i n g inpos=643,inbits=32,outpos=49,outbytes=6 62 79 20 68 65 72 b y h e r inpos=675,inbits=11,outpos=55,outbytes=3,distance=-15 20 73 69 s i inpos=686,inbits=9,outpos=58,outbytes=2 73 74 s t inpos=695,inbits=11,outpos=60,outbytes=3,distance=-7 65 72 20 e r inpos=706,inbits=72,outpos=63,outbytes=15 6f 6e 20 74 68 65 20 62 61 6e 6b 2c 20 61 6e o n t h e b a n k , a n inpos=778,inbits=13,outpos=78,outbytes=5,distance=-42 64 20 6f 66 20 d o f
注1: 元にしたのは、zlibに付属する参照実装であるPuff
Check for the http://www.colemansundometents.com/ now for the best
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteElectric steelundangan pernikahan klub bola
ReplyDeleteAgen Welded Beam T beam King Queen Cross Castellated Beam
undangan pernikahan cetak
Pabrik besi cnp baja
Agen Plat Besi Hitam
undangan pernikahan
Agen Jual Besi Siku Baja
Agen Bondek Cor
Agen Atap Spandek Sni
Toko besi beton psi Ulir Polos
Magnetic steelDistributor besi cnp baja
ReplyDeleteDistributor besi cnp baja
undangan pernikahan klasik
Distributor besi h beam baja
Agen Plat Kapal Bki Krakatau Steel
undangan pernikahan amplop surat
Agen Besi Unp Baja Profil Kanal
Distributor Stainless steel
Agen Plat Bordes Kembang
Toko besi beton perwira
شركة نقل عفش بالدمام الشرق الاوسط متحصصه فى نقل عفش واثاث بالدمام ونقل العفش بالخبر كما انها توفر شركة نقل عفش بالجبيل والخبر وشركة نقل عفش بالقطيف والاحساء وجميع خدمات نقل العفش والاثاث بالمنطقة الشرقية بارخص اسعار نقل عفش بالدمام وتقدم ايضا شركة تخزين عفش بالدمام والخبر
ReplyDeleteنقل عفش بالدمام
شركة نقل اثاث بالدمام
شركة نقل اثاث بالخبر
شركة نقل اثاث بالجبيل
This article is interesting and useful. Thank you for sharing. And let me share an article about health that God willing will be very useful. Thank you :)
ReplyDeleteObat gatal Kudis/gudik
Walatra Gamat Emas Kapsul
Vitamin Untuk Kesehatan Anak
Penyebab sering mimisan
Cara Mengatasi Cacar Air
Cara Menghilangkan Kantung mata
Obat Telinga Berkerak dan Berair
Free download Poweramp apk Pro view website
ReplyDeleteShowbox Pro apk for android latest version website
the article is very petrifying, hopefully it can be useful and an important lesson.
ReplyDeleteCara Mengatasi Penyebab Kekurangan Sel Darah Putih
Obat Epidural Hematoma
Cara Menghilangkan Benjolan Di Telinga
Beberapa Cara Untuk Mengobati Angin Duduk
Obat Trombosis Vena Dalam
Bahaya Nyeri Dada
Obat Alami Untuk Bibir Kering
Webroot.com/safe is a protection software solution that communicates with the cloud avoiding the hassle to manage the signature updates to deploy. for office setup visit office.com/setup
ReplyDeleteTerima kasih artikelnya sangat membantu sekali mudah-mudahan artikel ini bermanfaat bagi semua.
ReplyDeleteCara Mengatasi Penyakit Kuning Yang Tak Kunjung Sembuh
Obat Herbal Untuk Penyakit Chikungunya
Obat Flu Dan Batuk Anak
Obat Herbal Untuk Sakit Perut Melilit
Obat Cacingan Super Ampuh
Obat Untuk Mengatasi Pudarnya Warna Kulit
Solusi Paling Tepat Untuk Penyakit Kanker Ovarium
Continue to Perbiki his blog to get a good blog !!
ReplyDeleteCara Mengobati Penyakit Gula Darah
Cara Mengobati Jamur Mulut
Cara Mengobati Telinga Berair
Pengobatan Epilepsi Dengan Bahan Alami
Cara Mengobati Rematik
Pengobatan Berbagai Macam Luka
Pengobatan Penyakit Kanker Payudara
Wonderful read and would Bookmark it. Thanks
ReplyDeleteDigital Marketing course in Bangalore fees
Hi everyone
ReplyDeletecareer jankari hindi latest updates here
career jankari hindi latest updates here
career planning medical engineering admission job motivation jankari hindi
mbbs admission ebtrentr job updates here
B.Ed admission course job updates here
after 12 th arts job carrier vacancy
iit admission course job Indian institute of technology hindi latest updates here
veterinary Doctors admission course job hindi latest updates here
Hi everyone
ReplyDeletecareer jankari hindi latest updates here
career jankari hindi latest updates here
career planning medical engineering admission job motivation jankari hindi
mbbs admission ebtrentr job updates here
B.Ed admission course job updates here
after 12 th arts job carrier vacancy
iit admission course job Indian institute of technology hindi latest updates here
veterinary Doctors admission course job hindi latest updates here