Koder / dekoder Base62
Tekst
Base62
Szczegóły techniczne
Jak działa koder / dekoder Base62
Co robi narzędzie
Base62 koduje dane binarne przy użyciu 62 znaków alfanumerycznych (0-9, A-Z, a-z) i dekoduje ciągi Base62 z powrotem do tekstu lub hex. Wynik zawiera wyłącznie znaki bezpieczne dla URL bez dopełnienia, bez symboli '+', '/' ani '=', więc można go osadzać bezpośrednio w adresach URL i parametrach zapytań bez kodowania procentowego.
Typowe zastosowania dla programistów
Skracacze URL (bit.ly, t.co, historycznie goo.gl) używają Base62 do kodowania rosnących identyfikatorów całkowitych w zwięzłe, przyjazne do udostępniania slug’i. Deweloperzy backendu generują krótkie, nieprzezroczyste identyfikatory dla postów społecznościowych, tweetów i przesłanych zasobów. Marketerzy śledzą kampanie, używając parametrów UTM zakodowanych Base62, które wyglądają czyściej niż Base64.
Formaty danych, typy lub warianty
Narzędzie używa najczęściej spotykanego porządku alfabetu Base62: cyfry 0-9, następnie wielkie litery A-Z, a potem małe litery a-z. Różne implementacje mogą używać innych kolejności (niektóre umieszczają małe litery przed wielkimi), więc zawsze weryfikuj zgodność alfabetu przed udostępnianiem zakodowanych danych między systemami. Wynik jest pokazywany zarówno dla tekstu UTF-8, jak i dla surowego wejścia bajtów w hex.
Typowe pułapki i przypadki brzegowe
Base62 nie jest standaryzowany — kolejność alfabetu różni się między bibliotekami (to narzędzie używa 0-9, A-Z, a-z, zgodnie z konwencją npm `base-x`). Wiodące bajty zerowe w danych binarnych są zachowywane przez koder, ale ciąg Base62 zaczynający się od '0' dekoduje się do tej samej wartości co taki bez niego — nie ma postaci kanonicznej. Dla interoperacyjności między językami udokumentuj dokładnie, jakiego alfabetu użyto.
Kiedy używać tego narzędzia zamiast kodu
Użyj narzędzia w przeglądarce do jednorazowego kodowania i dekodowania podczas debugowania slugów URL lub krótkich identyfikatorów. W kodzie preferuj pakiet npm `base-x` (JavaScript), `pybase62` lub ręcznie napisaną konwersję (Python) albo implementacje Java `Base62.io` — i zawsze przypinaj alfabet w testach, aby przyszły refaktor nie zmienił po cichu kodowania.