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

Metni, onaltılık baytları veya dosyaları Base62 biçimine dönüştürün ve geri çevirin. Çıktı yalnızca rakam ve harflerden oluştuğu için URL'lerde, dosya adlarında ve tanımlayıcılarda kaçış gerektirmeden güvenle kullanılabilir.

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

Nasıl kullanılır

  1. Metni Base62'ye dönüştürmek için "Kodla", Base62'yi metne geri çevirmek için "Kodu çöz" seçeneğini seçin.
  2. Sisteminize uyan alfabe sırasını seçin: 0-9 A-Z a-z (varsayılan) veya 0-9 a-z A-Z.
  3. Girdinizi yazın veya yapıştırın ya da küçük bir dosya açın (en fazla yaklaşık 20 KB).
  4. Sonucu kopyalayın veya dosya olarak indirin.

Base62 nedir?

Base62 on rakamı, 26 büyük harfi ve 26 küçük harfi kullanır. Yalnızca harf ve rakamlardan oluşan en büyük alfabedir; bu nedenle sonuç URL'lerde, dosya adlarında, veritabanı anahtarlarında veya koddaki tanımlayıcılarda kaçış gerektirmez. Her karakter yaklaşık 5,95 bit taşır; bu da çıktıyı girdinin yaklaşık 1,34 katı yapar. Böylece neredeyse Base64 kadar kompakttır, ancak +, /, =, - veya _ içermez.

62 ikinin bir kuvveti olmadığından bu araç, Base58 ve Base36 kodlamalarında olduğu gibi girdinin tamamını tek bir büyük sayı olarak ele alır ve 62 tabanına dönüştürür. Baştaki her sıfır bayt, gidiş-dönüş dönüşümünde kaybolmaması için baştaki bir 0 olarak yazılır. Aritmetik işlemler büyük verilerde yavaşladığı için girdi yaklaşık 20 KB ile sınırlıdır.

Tek bir Base62 standardı yoktur

Base64'ün aksine Base62'nin bir RFC'si yoktur ve uygulamalar, çıktılarını birbiriyle uyumsuz kılacak şekillerde farklılık gösterir:

  • Alfabe sırası. Bu araç 0-9A-Za-z (varsayılan) ve 0-9a-zA-Z seçeneklerini sunar. Bazı kütüphaneler ise harfleri rakamlardan önce koyar.
  • Baştaki sıfırlar. Bazı uygulamalar bu araç gibi baştaki her sıfır bayt için bir 0 korur, bazıları bunları atar; sabit uzunluklu biçimler ise sonucu belirli bir genişliğe tamamlar.
  • Neyin kodlandığı. Birçok Base62 fonksiyonu bir bayt dizisi yerine veritabanı kimliği gibi bir tam sayıyı kodlar. Diğerleri veriyi sabit boyutlu bloklara böler.

Başka bir sistemden gelen bir dize burada anlamsız karakterlere çözülüyorsa diğer alfabe seçeneğini deneyin. Yine başarısız olursa o sistem muhtemelen farklı bir yöntem kullanıyordur.

Base62 nerelerde kullanılır?

URL kısaltıcılar otomatik artan bir kimliği kısa bir koda dönüştürür: yedi Base62 karakteri 3,5 trilyondan fazla değeri kapsar. KSUID gibi sıralanabilir kimlikler 27 karakterlik sabit bir Base62 biçimi kullanır; birçok hizmet de API anahtarları ve token'lar için Base62'yi tercih eder, çünkü çift tıklama dizenin tamamını seçer ve dize her yere yapıştırılabilir. Tek bir tam sayıyı dönüştürmek için sayı tabanı dönüştürücüsünü ya da birkaç satır kodu kullanın:

// JavaScript: tam sayıdan (BigInt) Base62'ye
const A = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
function toBase62(n) {
  let s = '';
  do { s = A[Number(n % 62n)] + s; n /= 62n; } while (n > 0n);
  return s;
}
toBase62(123456789n);   // sonuç: '8M0kX'

Teknik özellikler

Alfabe0-9 A-Z a-z
Çıktı boyutuYaklaşık %134 (büyük sayı dönüşümü)
DolguYok
StandartResmî bir standardı yok
Büyük/küçük harf duyarlıEvet

Örnekler

Girdi (UTF-8)Çıktı
Hello, World!1wJfrzvdbtXUOlUjUf
Base64.isNWxjrFq4r3rv
你好19PqtKE1t

Sıkça sorulan sorular

Base62 URL güvenli mi?
Evet. Yalnızca A-Z, a-z ve 0-9 karakterlerini kullanır ve bunlar URL'lerde hiçbir zaman kaçış gerektirmez. Base64URL de URL güvenlidir, ancak - ve _ karakterlerini içerir.
Base62 dizem neden yanlış metne çözülüyor?

Base62 uygulamaları alfabe sırası ve yöntem bakımından farklılık gösterir. 0-9A-Za-z ve 0-9a-zA-Z alfabeleri arasında geçiş yapın. İkisi de işe yaramazsa dize muhtemelen bir tam sayıdan ya da başka bir algoritmayla oluşturulmuştur.

Base62 büyük/küçük harfe duyarlı mı?

Evet. Büyük ve küçük harfler farklı değerleri temsil eder; bu nedenle bir Base62 dizesi asla büyük veya küçük harfe dönüştürülmemelidir.

Base62 mi, Base58 mi kullanmalıyım?
Base58, insanlar elle kopyalarken karıştırmasın diye 0, O, I ve l karakterlerini dışarıda bırakır. Base62 tüm harf ve rakamları korur ve biraz daha kısadır. İnsanların yazdığı dizeler için Base58'i, makinelerin işlediği dizeler için Base62'yi seçin.