データ圧縮アルゴリズムの一種で、可逆圧縮に分類されます。このアルゴリズムでは、ある連続したデータをデータ1つ分と連続した長さで表して圧縮します。FAXや単純な画像データについて利用されるアルゴリズムです。連続回数」の形に変換することになるので、1つのデータが長く続くデータや、そもそも出現するデータの種類が少ないデータなどは、圧縮効率が高くなる傾向にあります。逆に、データがあまり連続しないデータについては、圧縮効率が悪いどころか圧縮前よりデータサイズが大きくなってしまうこともあります。となり2倍のサイズになってしまいます。呼ばれる方法もあります。PickBits上述の通り、ランレングス圧縮は連続しないデータ部分の圧縮効率が悪いどころか、逆にデータ量が増えてしまいます。呼ばれるアルゴリズムです。基本的な考え方は変わらないのですが、連続しないデータ部分が続く部分をフラグ管理することで圧縮率を高めます。なり元のデータより大きなデータになってしまいます。次のように圧縮します。連続しないデータ」として表現します。ついて連続しない(つまり1文字のみ)という意味になります。通常圧縮は上記のように文字列で見るのではなく、バイト単位で圧縮を行います。したがって、1ビット分をマイナスのフラグとして使うと、連続数として表せるのが最大128までとなります。これ以上の連続するデータ部分が通常のランレングス圧縮に比べ圧縮効率が低下してしまいます。サンプルコード圧縮対象のファイルを通常のランレングス圧縮を用いて圧縮したファイルを生成するサンプルコードです。バイト単位で読み込んだファイル内容から圧縮ファイルを生成します。生成した圧縮ファイルを元に戻す(解凍する)ことで圧縮前のファイルと同等のファイルを生成します。以下のようなモノクロビットマップ画像は非常に効率の良い圧縮が行われますが、日本語のテキストファイルなどはあまり効率よく圧縮されません。