UTILS.
%100 tarayıcıda
🔢

Base62 Kodlama ve Kod Çözme

Tamsayıları veya bayt dizilerini kompakt URL-güvenli Base62 (0-9A-Za-z) biçimine ve geri dönüştürün; BigInt desteği ve GMP alfabe varyantı ile tarayıcıda.

— çıktı burada görünür —

Bu araç hakkında

Base62 aracı, sayıları ve bayt dizilerini kompakt 62 sembollük 0-9A-Za-z alfabesine kodlar ve geri çözer. Base62; kısa kimlikler, URL slug'ları ve kısaltılmış bağlantılar için popülerdir çünkü Base64'ün kullandığı +, / veya = karakterleri olmadan URL-güvenli kalır. Tüm dönüştürme JavaScript BigInt ile yerel olarak tarayıcınızda çalışır, bu yüzden keyfi büyük değerler tam olarak hesaplanır ve hiçbir şey yüklenmez.

Tamsayı modu, girişi keyfi hassasiyetli bir tamsayı (ondalık veya 0x önekli hex) olarak ele alır: kodlama tekrar tekrar 62'ye böler ve alphabet[remainder] değerini başa ekler, kod çözme ise Σ alphabet.indexOf(ch)·62^position değerini hesaplar. Bayt modu, giriş baytlarını (UTF-8 metin veya hex) tek bir big-endian büyük sayı olarak ele alır ve aynı base-62 dönüştürmesini uygular, ancak baştaki sıfır baytları da Bitcoin-Base58 tarzında korur: her baştaki 0x00 bayt, tur döngülerinin kayıpsız olması için bir baştaki '0' karakterine dönüşür.

Standart alfabe önce basamakları, sonra büyük harfleri, sonra küçük harfleri sıralar (0-9A-Za-z). Bazı kütüphaneler — özellikle GMP üzerine kurulanlar — basamakları, küçük harfleri, sonra büyük harfleri sıralar (0-9a-zA-Z); bu, aynı değer için farklı çıktı üretir; alfabe düğmesi, sisteminizin hangisini kullandığıyla eşleşmenizi sağlar. Yönü, tamsayı veya bayt modunu, baytların giriş biçimini ve alfabe varyantını seçin.

Sık sorulan sorular

Tamsayı ve bayt modu arasındaki fark nedir?
Tamsayı modu, tek bir keyfi hassasiyetli sayıyı (ondalık veya 0x-hex) bir Base62 dizesine ve geri bir ondalık tamsayıya dönüştürür. Bayt modu, bir bayt dizisini (UTF-8 metinden veya hex'ten) big-endian büyük sayı olarak dönüştürür ve baştaki sıfır baytları, ikili verinin tam olarak tur döngüsü yapabilmesi için baştaki alfabe-sıfır karakterleri olarak korur.
Neden iki alfabe var?
Standart alfabe 0-9A-Za-z'dir (büyük harf küçük harften önce). GMP tabanlı kütüphaneler 0-9a-zA-Z kullanır (küçük harf büyük harften önce). Aynı değer her birinde farklı kodlanır, bu yüzden düğme, diğer araçlarınızın beklediği sıralamayla birlikte çalışabilmenizi sağlar.
Ne kadar büyük bir sayıyı işleyebilir?
Her boyutu. Araç JavaScript BigInt kullanır, bu yüzden 2^53 hassasiyet sınırı yoktur — keyfi uzunluktaki tamsayıları ve bayt dizilerini tam olarak kodlayıp çözebilirsiniz; bu, hash'ler, UUID'ler ve uzun tanımlayıcılar için gereklidir.
Bayt modunda baştaki sıfırlar nasıl ele alınır?
Her baştaki 0x00 bayt, bir baştaki alfabe-sıfır karakteri (Base58'in baştaki '1'i gibi) olarak kodlanır. Kod çözerken her baştaki alfabe-sıfır karakteri bir 0x00 baytı geri yükler, bu yüzden kodlama ardından kod çözme, tam orijinal bayt dizisini döndürür.

Daha fazla araç