Latar Belakang
Dari 256 karakter yang mungkin dimiliki oleh byte, hanya beberapa di antaranya yang digunakan dalam sebagian besar keadaan. Tidak bisakah kita mengambil keuntungan dari ini, dan membuat file teks kita lebih kecil dengan menghilangkan kebutuhan akan huruf yang jarang digunakan?
Banyak huruf tidak menambah nilai dalam kebanyakan situasi, dan dapat diganti dengan huruf yang lebih umum. Misalnya, huruf kecil "L", huruf kapital "I", dan angka "1" terlihat hampir identik di sebagian besar situasi, sehingga dapat dikonsolidasikan.
Hanya ada sedikit kebutuhan untuk huruf kapital, sehingga mereka dapat ditiadakan. Program dekompresi / tampilan bahkan dapat secara otomatis memanfaatkan huruf pertama dari setiap kalimat, nama umum, dll.
Aturan
Entri akan dinilai pada:
- rasio kompresi
- keterbacaan setelah de-kompresi
Entri akan diuji terhadap versi teks biasa dari artikel ini: http://en.wikipedia.org/wiki/Babbage dan artikel BBC News yang dipilih secara acak .
Nilai ekstra akan diberikan untuk; menjaga mark-up, mempercantik setelah de-kompresi (yaitu huruf kapitalisasi dll).
Bahasa
- Apa pun yang Anda suka, tetapi harus dengan mudah mengkompilasi (atau ditafsirkan) pada kotak * nix dasar.
sumber
main = interact (\x -> take 90 x ++ " yada yada yada")
Jawaban:
Perl
Sangat tidak efisien dan memiliki angka buruk. Membutuhkan
/usr/share/dict/words
.Kompresor
Dekompresor
sumber
Perl, 0 karakter
Rasio kompresi infinity, meskipun tidak dapat dibaca setelah dekompresi sehingga akan kehilangan beberapa tanda.
sumber
Bash, 5 karakter
Entri malas saya yang mungkin saja menang:
Lossless, sehingga menjaga keterbacaan dengan sempurna dan mendapatkan semua nilai ekstra! Rasio kompresi pada html Babbage adalah 4,79x (153804 hingga 32084 bytes).
sumber