Base91 Kodlayıcı ve Kod Çözücü

Metni, onaltılık baytları veya dosyaları basE91 biçimine dönüştürün ve geri çevirin. basE91 ikili veriyi 91 yazdırılabilir ASCII karakterine sığdırır ve Base64 ya da Base85'ten daha kısa çıktı üretir.

Tamamen tarayıcınızda çalışır. Hiçbir veri yüklenmez.

Nasıl kullanılır

  1. Metni veya baytları basE91'e dönüştürmek için "Kodla", basE91'i veriye geri çevirmek için "Kodu çöz" seçeneğini seçin.
  2. Girdinizi yazın veya yapıştırın ya da bir dosya açın. Ham baytlar için girdi biçimini "Onaltılık" olarak değiştirin.
  3. Sonuç siz yazarken güncellenir. Kod çözerken "Metin" veya "Onaltılık" çıktısını seçin.
  4. Sonucu kopyalayın veya dosya olarak indirin.

basE91 nedir?

basE91, Joachim Henke tarafından tasarlanmış bir ikili veriden metne kodlama yöntemidir. 95 yazdırılabilir ASCII karakterinden 91'ini kullanır: boşluk, kesme işareti ', kısa çizgi - ve ters eğik çizgi \ dışındaki tüm karakterler.

Sabit bayt blokları üzerinde çalışmaz. Kodlayıcı girdi bitlerini bir arabellekte toplar ve her seferinde 13 bit alır. 13 bitlik değer 88'den büyükse iki karakter olarak yazılır. 88 veya daha küçükse 14. bit de alınır; iki adet 91 tabanlı karakter 91 × 91 = 8281 farklı değer ifade edebildiği için bu yine sığar. Böylece her 13 veya 14 bit tam olarak 2 karaktere dönüşür.

Sonuç olarak ek yük en fazla yaklaşık %23'tür; uzun sıfır bayt dizileri içeren verilerde yaklaşık %14'e kadar düşer. Rastgele veya sıkıştırılmış veriler üst sınıra yakın sonuç verir.

basE91 ve diğer kodlamalar

KodlamaKarakter sayısıÇıktı boyutu
Hex162 × girdi
Base5858yaklaşık 1,37 × girdi
Base64641,33 × girdi
Base85 / Ascii85851,25 × girdi
basE9191yaklaşık 1,14 ile 1,23 × girdi

Kendi verileriniz için gerçek çıktı uzunluklarını karşılaştırmak isterseniz verinizi Tüm kodlamalar aracına yazın.

Dikkat edilmesi gerekenler

  • Kaçış. Alfabe, JSON'da ve çoğu dize sabitinde kaçış uygulanması gereken çift tırnak " karakterini ve HTML ile XML'de kaçış uygulanması gereken <, > ve & karakterlerini içerir. basE91 URL güvenli değildir.
  • Dizenin tamamını çözün. Bitler karakter sınırlarını aştığı için bir basE91 dizesinin ortasından kesilmiş bir parça tek başına çözülemez.
  • Destek. basE91 bir IETF standardı değildir. Yazarı C ve diğer diller için referans uygulamalar yayımlar; Python için base91 paketi gibi çoğu platform için uyarlamalar mevcuttur.

Teknik özellikler

Alfabe91 yazdırılabilir ASCII karakteri
Çıktı boyutuYaklaşık %123
DolguYok
StandartbasE91 (Joachim Henke)
Büyük/küçük harf duyarlıEvet

Örnekler

Girdi (UTF-8)Çıktı
Hello, World!>OwJh>}AQ;r@@Y?F
Base64.isxD7gXm^?t#5
你好I_5k7aPE

Sıkça sorulan sorular

basE91, Base64'ten daha mı küçük?

Evet. Base64 her zaman %33 ekler; basE91 ise en fazla yaklaşık %23, çok sayıda sıfır bayt içeren verilerde daha da az ekler. 1 MB'lık bir dosya için bu, yaklaşık 100 KB tasarruf demektir.

basE91 hangi karakterleri kullanır?
A-Z ve a-z harflerini, 0-9 rakamlarını ve !#$%&()*+,./:;<=>?@[]^_`{|}~" simgelerini. Boşluk, kesme işareti, kısa çizgi ve ters eğik çizgi kullanılmaz.
Neden basE91 diye yazılıyor?

Yazarı adı bu şekilde yazar. basE91 ve Base91 aynı kodlamayı ifade eder; bu sayfa orijinal algoritmayı izler.

Boşluklar kod çözmeyi bozar mı?

Hayır. Boşluklar ve satır sonları alfabenin parçası olmadığından buradaki kod çözücü bunları yok sayar. Satırlara bölünmüş basE91 metnini doğrudan yapıştırabilirsiniz.