Crockford Base32 Kodlayıcı ve Kod Çözücü

Metni, onaltılık baytları veya dosyaları Douglas Crockford'un Base32 biçimine dönüştürün ve geri çevirin. Kod çözücü yazım hatalarını affeder: büyük/küçük harfi ve kısa çizgileri yok sayar, O'yu 0, I veya L'yi 1 olarak okur.

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

Nasıl kullanılır

  1. Metni Crockford Base32'ye dönüştürmek için "Kodla", yeniden metne dönüştürmek için "Kodu çöz" seçeneğini seçin.
  2. "Crockford" varyantını seçili bırakın ve "Dolgu" seçeneğinin kapalı olduğundan emin olun. Küçük harfli çıktı için "Küçük harf" seçeneğini açın.
  3. Girdinizi yazın veya yapıştırın ya da bir dosya açın. Kod çözerken kısa çizgiler ve boşluklar yok sayılır.
  4. Sonucu kopyalayın veya dosya olarak indirin.

Crockford Base32 nedir?

Douglas Crockford bu Base32 alfabesini insanların okuduğu, yazdığı ve sesli söylediği tanımlayıcılar için tasarladı. Alfabe on rakamı ve 22 büyük harfi kullanır: 0123456789ABCDEFGHJKMNPQRSTVWXYZ. I ve L harfleri 1 rakamına, O harfi 0'a benzediği için dışarıda bırakılmıştır; U ise yanlışlıkla müstehcen kelimeler oluşma olasılığını azaltmak için alfabeye alınmamıştır.

Her sembol 5 bit taşır; bu nedenle tıpkı RFC 4648 Base32'de olduğu gibi 5 bayt 8 karaktere dönüşür. Semboller artan ASCII sırasında olduğundan, tek bir harf büyüklüğündeki dolgusuz dizeler kodladıkları veriyle aynı sırada sıralanır. Crockford'un belirtimi dolgu kullanmaz, bu nedenle "Dolgu" seçeneğini kapalı tutun.

Hataları affeden kod çözme

Crockford'un belirtimi, kod çözücülerin insanların gerçekte yazdıklarını kabul etmesini ister ve bu araç da bunu yapar:

  • Büyük ve küçük harfler aynı kabul edilir.
  • O harfi 0 rakamı olarak, I ve L harfleri ise 1 olarak okunur.
  • Uzun kodları okumayı kolaylaştırmak için eklenebilen kısa çizgiler yok sayılır; boşluklar ve satır sonları da yok sayılır.

U harfi geçerli değildir ve konumuyla birlikte bildirilir.

Baytlar, sayılar ve ULID

Crockford kodlamasını sayılar üzerinden tanımlar; bu araç ise bir bayt dizisini RFC 4648 yöntemiyle, 5 bitlik gruplar hâlinde ve Crockford'un sembollerini kullanarak kodlar. Bit sayısı 5'in katı olmadığında sayı tabanlı uygulamalar artan sıfır bitlerini başa, bu araç ise sona koyar; bu yüzden sonuçlar farklı olabilir.

Yaygın bir örnek ULID'dir. ULID, Crockford alfabesini kullanır ancak 128 bitlik değerini 26 karakterlik bir sayı olarak kodlar; bu nedenle bir ULID'nin 16 baytı burada aynı dizeye kodlanmaz ve bir ULID'nin kodunu çözmek iki bit kaydırılmış baytlar verir. Crockford'un belirtimindeki isteğe bağlı denetim sembolü, yani değerin 37'ye göre modunu taşıyan ek karakter desteklenmez: bu araç onu ne ekler ne de doğrular.

Teknik özellikler

Alfabe0-9 A-Z (I L O U hariç)
Çıktı boyutu5 bayt başına 8 karakter (%160)
DolguYok
StandartCrockford Base32 (2002)
Büyük/küçük harf duyarlıHayır

Örnekler

Girdi (UTF-8)Çıktı
Hello, World!91JPRV3F5GG5EVVJDHJ22
Base64.is89GQ6S9P6GQ6JWR
你好WJYT1SD5QM

Sıkça sorulan sorular

Crockford Base32 büyük/küçük harfe duyarlı mı?

Hayır. Çıktı varsayılan olarak büyük harflidir; "Küçük harf" seçeneği onu küçük harfe çevirir. Kod çözücü, aynı dize içinde karışık olsa bile her ikisini de kabul eder.

I, L, O ve U neden alfabede yok?

I ve L kolayca 1 ile, O ise 0 ile karıştırılır; bu yüzden dışarıda bırakılırlar ve kod çözülürken bu rakamlar olarak okunurlar. U ise rastgele kodların saldırgan İngilizce kelimeler oluşturma olasılığını azaltmak için hariç tutulur.

Bu araç Crockford denetim sembolünü destekliyor mu?
Hayır. Belirtim, 37'ye göre mod alınmış bir sağlama toplamı taşıyan isteğe bağlı ek bir karaktere izin verir ve bu karakter için * ~ $ = U ek sembollerini kullanır. Bu araç onu eklemez veya doğrulamaz; bu nedenle kodu çözmeden önce denetim sembolünü kaldırın.
Burada bir ULID'nin kodunu çözebilir miyim?

Tam 16 baytına çözemezsiniz. ULID, 128 bitini artan bitler başta olacak şekilde tek bir sayı olarak kodlar; bu araç ise bayt gruplarıyla çalışır ve artan bitleri sona koyar. Zaman damgasını ve rastgele kısımları okumak için bir ULID kütüphanesi kullanın.