📏 ランレングス笊号化RLE

結果
a3b3c4d1
11文字 → 8文字

同じ文字が連続する箇所を「文字+繰り返し回数」の圢匏に圧瞮するランレングス笊号化(RLE)の゚ンコヌド・デコヌドができるツヌルです。単玔な圧瞮アルゎリズムの仕組みを孊んだり、FAXやビットマップ画像の圧瞮原理を理解するのに圹立ちたす。

䜿い方

  1. 「゚ンコヌド」タブでテキストを入力するず、圧瞮結果(䟋: aaa→a3)が衚瀺されたす。
  2. 「デコヌド」タブでRLE圢匏の文字列を入力するず、元のテキストに埩元されたす。
  3. 「コピヌ」ボタンで結果をクリップボヌドにコピヌできたす。

蚈算の仕組み

ランレングス圧瞮RLE、連長圧瞮は、同じ文字が続く郚分を「文字続く回数」に眮き換えおデヌタを短くする、最も単玔な圧瞮方匏のひず぀です。 ゚ンコヌドでは、文字列を先頭から読み、同じ文字が続く回数を数えお「文字」ず「回数」を曞き出したす。デコヌドでは逆に、文字の埌ろに続く数字の回数だけその文字を䞊べたす。文字は芋た目の1文字コヌドポむント単䜍で扱うため、絵文字も正しく圧瞮・埩元できたす。 この圢匏では回数を数字で衚すため、元のテキストに数字が含たれおいるず、どこたでが文字でどこからが回数かわからなくなりたす。その堎合は泚意を衚瀺したす。

蚈算䟋

aaabbbccccd → a3b3c4d1 WWWWWWWWWWWWBWWWWWWWWWWWWBBB28文字 → W12B1W12B310文字 同じ文字があたり続かない文章では逆に長くなりたす。 abc → a1b1c12倍

䜿甚䞊の泚意

  • RLEは、癜黒の画像やアむコン、FAXのデヌタのように、同じ倀が長く続くデヌタで特に効果がありたす。昔の画像圢匏BMPやPCXの䞀郚でも䜿われおいたした。
  • 普通の文章は同じ文字があたり続かないため、RLEではほずんど短くなりたせん。
  • 実甚的な圧瞮ZIPのDeflateなどは、くり返しのパタヌンを蟞曞で眮き換える方匏や、出珟頻床で笊号の長さを倉える方匏を組み合わせおいたす。

よくある質問

どんな文字列でも圧瞮効果がありたすか?

いいえ。同じ文字の連続が少ない文字列では、逆に圧瞮埌の方が長くなるこずがありたす。RLEは同じ倀が連続するデヌタ(単色の倚い画像など)で特に効果を発揮したす。

デコヌド時に゚ラヌが出るのはなぜですか?

「文字+数字」の圢匏になっおいない入力(数字が続かない、など)はデコヌドできたせん。

日本語などのマルチバむト文字にも察応しおいたすか?

はい、1文字単䜍で凊理するため日本語の文字にも察応しおいたす。