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

Metni, onaltılık baytları veya dosyaları on rakam ve 26 harften oluşan Base36 alfabesine dönüştürün ve Base36 dizelerini yeniden baytlara çözün. Büyük harfli çıktı isteğe bağlıdır.

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

Nasıl kullanılır

  1. Metni Base36'ya dönüştürmek için "Kodla", Base36'yı yeniden metne dönüştürmek için "Kodu çöz" seçeneğini seçin.
  2. Girdinizi yazın veya yapıştırın ya da küçük bir dosya (en fazla yaklaşık 20 KB) açın.
  3. Çıktıda büyük harf gerekiyorsa "Büyük harf" seçeneğini açın.
  4. Sonucu kopyalayın veya dosya olarak indirin.

Base36 nedir?

Base36 veriyi on rakam ve Latin alfabesinin 26 harfiyle, yani 0-9 ve ardından a-z ile yazar. Harf büyüklüğü yok sayıldığında rakam ve harflerden oluşturulabilecek en büyük alfabedir; bu nedenle Base36 dizeleri harf büyüklüğünü değiştiren veya yok sayan sistemlerde bozulmadan kalır. Her karakter yaklaşık 5,17 bit taşır; bu da çıktıyı girdinin kabaca 1,55 katı yapar, yani Base32'den biraz daha kısadır.

36 ikinin bir kuvveti olmadığından baytlar basitçe bit gruplarına bölünemez. Bunun yerine araç, tüm girdiyi tek bir büyük işaretsiz sayı olarak okur ve onu 36 tabanına dönüştürür; bu, Base58'in kullandığı yöntemin aynısıdır. Bir sayı baştaki sıfır baytlarını kaybedeceğinden her biri baştaki bir 0 olarak yazılır ve kod çözülürken geri getirilir. Bu aritmetik büyük girdilerde yavaşladığı için araç en fazla yaklaşık 20 KB kabul eder.

Base36 nerelerde kullanılır?

  • Kısa kimlikler. URL kısaltıcılar, sipariş numaraları ve destek talebi kodları çoğu zaman sayısal bir veritabanı kimliğini 36 tabanında gösterir. Örneğin Reddit, gönderi ve yorum kimlikleri için 36 tabanını kullanır.
  • Büyük/küçük harfe duyarsız ortamlar. DNS adları ve bazı dosya sistemleri harf büyüklüğünü yok sayar. IPFS bu nedenle alt alan adı ağ geçidi adreslerinde bazı tanımlayıcıların Base36 biçimini kullanır.
  • Koddaki sayılar. 36, çoğu programlama dilinin tam sayı dönüşümü için yerel olarak desteklediği en yüksek tabandır.

Harf büyüklüğü korunuyorsa ve en kısa alfanümerik dizeyi istiyorsanız Base62 daha kompakttır.

Kodda Base36 sayıları

Bu sayfa baytları kodlar. Bir tam sayıyı dönüştürmek için dilinizin yerleşik fonksiyonlarını veya sayı tabanı dönüştürücüsünü kullanın:

// JavaScript
(1000000).toString(36)        // 'lfls'
parseInt('lfls', 36)          // 1000000
123456789012345678901234567890n.toString(36)   // büyük değerler için BigInt

# Python
int('lfls', 36)               # 1000000
# ters yön için yerleşik bir fonksiyon yok

parseInt, Number.MAX_SAFE_INTEGER üzerindeki değerlerde hassasiyet kaybeder; daha büyük değerler için basamakları kendiniz bir BigInt'te biriktirin.

Teknik özellikler

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

Örnekler

Girdi (UTF-8)Çıktı
Hello, World!fg3h7vqw7een6jwwnzmp
Base64.is76f8bz4veeatf7
你好2h5exfqm65

Sıkça sorulan sorular

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

Hayır. Çıktı varsayılan olarak küçük harflidir; "Büyük harf" seçeneği onu büyük harfe çevirir. Kod çözücü her iki biçimi de kabul eder.

Başka bir araç neden farklı bir Base36 sonucu veriyor?

Base36'nın resmî bir standardı yoktur. Bazı araçlar bir sayıyı, bazıları ise baytları kodlar ve baştaki sıfır baytlarını farklı şekillerde ele alırlar. Bu araç girdi baytlarını tek bir büyük sayı olarak kodlar ve baştaki her sıfır baytını bir 0 olarak yazar.

Bir boyut sınırı var mı?
Evet, yaklaşık 20 KB; çünkü büyük sayı dönüşümü girdi büyüdükçe daha uzun sürer. Dosyalar ve büyük veriler için Base32 veya Base64 daha uygundur.
Bir sayıyı Base36'ya nasıl dönüştürürüm?
Ondalık bir değeri Base36 ve diğer tabanlarda gösteren sayı tabanı dönüştürücüsünü kullanın. Bu sayfa girdiyi metin veya bayt olarak ele alır; bu nedenle 100 yazdığınızda yüz sayısı değil, 1, 0 ve 0 karakterleri kodlanır.