İçeriğe atla
%100 yerel

Uzunluk Kodlama

Tekrar karakterleri sayı-karakter çiftlerine sıkıştırın ve geri kodunu çözün.

Giriş
Çıkış

Uzunluk Kodlama

Uzunluk kodlama, tekrar karakterleri bir sayı ve karakterin kendisi ile değiştirir: "aaabcc" "3a1b2c" olur — üç a, bir b, iki c. Bu araç metni bu şekilde kodlar ve doğrudan geri kodunu çözer, tamamen tarayıcınızda. Bu, faks sıkıştırması, BMP'nin RLE varyantı ve basit oyun varlığı formatlarının arkasındaki aynı ilkedir: tekrar eden veriler çok daralır ve tekrarlama olmayan metin boyutunu pek değiştirmez.

İki format seçeneği, her çalışmanın nasıl yazıldığını kontrol eder: karakter önce sayı (3a) veya sayı önce karakter (a3). "Yalnızca 1'den uzun tekrarları sıkıştır" seçeneğini açmak tek oluşumları açık bırakır — "aaabcc" "3a1b2c" yerine "3ab2c" olur — bu, RLE'nin nasıl öğretildiğine daha yakındır, ancak sayılar içeren metinde ayırıcı gereksiniminin maliyetiyle gelir. Tekrarlar arasında ayırıcı (virgül, boşluk, herhangi bir şey yazabilirsiniz) bu belirsizliği tamamen ortadan kaldırır ve bayt modu için gereklidir. "Satır satır işle" tekrarlamaların satır sonundan geçmesini engeller, her satır gerçekten kendi kaydı olduğunda kullanışlıdır.

Bayt modu girişi metin karakterleri yerine onaltılık baytlar olarak değerlendirir — "00 00 00 ff" gibi onaltılık yapıştırın (boşluklar yoksayılır) ve sıkıştırılmadan önce bayt bayt gruplandırılır, RLE'nin sıkıştırılmamış görüntü satırları gibi ikili veriler üzerinde gerçekten nasıl kullanıldığıdır. Dekodlama her seçeneği yansıtır: kodlama için kullanılan aynı formatı, ayırıcı ve bayt modu seçin ve orijinal metin veya onaltılık tam olarak geri döner. Canlı tally, giriş ve çıkış uzunluğu artı sıkıştırma oranını gösterir, böylece belirli bir girişin uzunluk kodlama için iyi bir aday olup olmadığını bir bakışta görebilirsiniz.

Her şey tarayıcınızda yerel olarak çalışır — yazdığınız veya yapıştırdığınız hiçbir şey hiçbir yere yüklenmez. Sonucu kopyalayın, .txt dosyası olarak indirin veya yönü değiştirmek ve gidiş-dönüş yolculuğunu doğrulamak için çıktıyı doğrudan girdiye gönderin.

FAQ

3a1b2c tam olarak ne anlama geliyor?
Bu üç a, bir b, sonra iki c anlamına gelir — "aaabcc" nin uzunluk kodlaması. Sayı her zaman saydığı karakterle birlikte gelir, format seçeneğinin hangi sırayı seçtiğine bakılmaksızın.
Dekodlama neden bazen başarısız olur veya yanlış metin üretir?
Dekodlama, format, ayırıcı ve bayt modu seçeneklerinin kodlama için kullanılanlarla eşleştiğini varsayar. Orijinal metin rakam karakterler içeriyorsa ve ayırıcı kullanılmadıysa, rakamlar sayının bir parçası olarak yanlış okunabilir — bunu önlemek için bir ayırıcı ekleyin.
Uzunluk kodlama aslında ne zaman kullanışlıdır?
Uzun tekrarlanan çalışmalarla — tek renkli görüntü satırları, dolgu baytları, tekrarlanan günlük karakterleri — çıktı çok azalır. Tipik proza üzerinde çıktı genellikle artar, çünkü çoğu karakter tekrarlanmaz.
Bayt modu ne işe yarar?
Girişi metin karakterleri yerine onaltılık baytlar olarak değerlendirir, böylece görüntü ve faks formatlarının yaptığı gibi bináris verileri (onaltılık olarak yapıştırılan) bayt bayt yerine karakter karaktere kodlayabilirsiniz.
Metnim bir yere yükleniyor mu?
Hayır. Kodlama ve dekodlama tamamen tarayıcınızda çalışır — yazdığınız veya yapıştırdığınız hiçbir şey cihazınızı asla terk etmez.