バックグラウンド
1バイトが表すことができる256文字のうち、ほとんどの状況で使用されるのはこれらの文字のほんの一部です。どういうわけかこれを利用して、めったに使用されない文字の必要性を排除して、テキストファイルを小さくすることはできませんか?
多くの文字はほとんどの状況で値を追加せず、より一般的な文字に置き換えることができます。たとえば、小文字の「L」、大文字の「I」、および数値「1」はほとんどの状況でほとんど同じに見えるため、統合できます。
大文字はほとんど必要ないため、省略できます。解凍/表示プログラムは、すべての文、通称などの最初の文字を自動的に大文字にすることさえできます。
ルール
エントリーは次の項目で審査されます。
- 圧縮比
- 解凍後の可読性
エントリは、この記事のプレーンテキストバージョン(http://en.wikipedia.org/wiki/Babbage)とランダムに選択されたBBCニュース記事に対してテストされます。
追加のマークが授与されます。マークアップを保持し、解凍後に美化します(つまり、文を大文字にするなど)。
言語
- 任意ですが、基本的な* nixボックスで簡単にコンパイル(または解釈)する必要があります。
PowerShellは出ましたか?残念。
—
ジョーイ
Haskell:
—
ジョーイアダムス
main = interact (\x -> take 90 x ++ " yada yada yada")
「解凍後の読みやすさ」はかなり主観的な基準であることにも注意してください。
—
ジョーイ
特にUnix-Boxでは、大文字と小文字の区別が必要です。:)そして送信の始まりを見つける。uの場合、自明ではありません。略語を使用します。:)
—
ユーザー不明
アルファベットまたはテキストを圧縮しますか?:) L = l = 1は、思考を表すために必要な文字を圧縮します。しかし、「1つのリンゴ」=「1 apl」はテキストを圧縮します。
—
anemgyenge 2011