encode | decode | alfanumerycznie

> base36 | 0-9,A-Z | kompaktowo <

// Base36 – kompaktowe kodowanie alfanumeryczne przy użyciu cyfr 0-9 i liter A-Z

0 znaków
0 znaków
[ALFANUMERYCZNE]

Tylko znaki alfanumeryczne

Używa jedynie cyfr 0-9 i liter A-Z, dzięki czemu jest bezpieczne dla baz danych, adresów URL i większości systemów.

[KOMPAKTOWE]

Kompaktowa reprezentacja

Bardziej kompaktowe od zapisu dziesiętnego dla dużych liczb, przy zachowaniu czytelności ciągów znaków.

[URL-SAFE]

Przyjazne dla URL

Brak znaków specjalnych – idealne do krótkich linków, publicznych identyfikatorów, kodów produktów i kluczy licencyjnych.

>> informacje techniczne

Jak działa Base36:

Base36 to system pozycyjny o podstawie 36, wykorzystujący 36 symboli (0-9 oraz A-Z). Każda pozycja reprezentuje kolejną potęgę liczby 36, dzięki czemu można przedstawić duże liczby jako krótkie ciągi alfanumeryczne.

Przykłady Base36:

Liczby → Base36:
123 → 3F
1000 → RS
999999 → LFLR

Tekst → Base36 (z użyciem bajtów):
Hi → 1Q5
ABC → 3O0AF

Typowe zastosowania:
- Identyfikatory wideo/zasobów
- Skrócone adresy URL
- Tokeny sesji
- Kody produktów
- Klucze licencyjne

Dlaczego warto używać Base36:

  • ▸Tworzenie krótkich, czytelnych identyfikatorów z dużych liczb
  • ▸Generowanie tokenów bez znaków specjalnych, bezpiecznych dla adresów URL
  • ▸Kompresja wartości liczbowych do kompaktowych łańcuchów alfanumerycznych
  • ▸Najczęściej brak rozróżniania wielkości liter – mniejsza podatność na błędy formatowania
  • ▸Bardziej przyjazne dla człowieka niż wiele reprezentacji szesnastkowych

>> najczęstsze pytania

Czym jest Base36?

Base36 to system liczbowy pozycyjny, który używa 36 różnych symboli: cyfr 0-9 oraz liter A-Z. Umożliwia kompaktowe przedstawianie liczb wyłącznie za pomocą znaków alfanumerycznych.

Gdzie stosuje się Base36?

Base36 powszechnie wykorzystuje się do tworzenia krótkich identyfikatorów, takich jak skrócone adresy URL, publiczne ID, kody produktów i tokeny sesji, które muszą być jednocześnie krótkie i czytelne.

Czy Base36 jest wrażliwe na wielkość liter?

W większości implementacji Base36 nie rozróżnia wielkości liter – A-Z i a-z są traktowane tak samo. Zmniejsza to liczbę błędów związanych z inną kapitalizacją tekstu.

Jak Base36 wypada na tle innych sposobów kodowania?

Base36 jest bardziej kompaktowe niż zapis dziesiętny (base10), ale mniej niż szesnastkowy (base16) czy Base64. Zapewnia kompromis między kompaktowością a czytelnością, używając wyłącznie znaków alfanumerycznych.

// Krótka ściąga

DECHEXBase36Base62
0000
3523zz
362410A
100642s1c
10003e8rsG8
12345678975bcd1521i3v98M0kX
4294967295ffffffff1z141z34gfFC3

// Przykłady kodu

JavaScript  (123).toString(36)   // "3f"      parseInt("3f", 36)  // 123
Python      int("3f", 36)  // 123       (no built-in int -> base36; write a loop)
Java        Integer.toString(123, 36)   Long.parseLong("3f", 36)
PHP         base_convert("123", 10, 36)
Go          strconv.FormatInt(123, 36)   strconv.ParseInt("3f", 36, 64)

>> Więcej pytań

P: Jak zapisać Base36 w JavaScript, Pythonie lub Javie?

O: JavaScript, Java, PHP i Go mają to wbudowane: (123).toString(36) zwraca "3f", a parseInt("3f", 36) daje z powrotem 123. W Pythonie int(s, 36) dekoduje; do kodowania napisz krótką pętlę.

P: Jaką największą liczbę całkowitą można zakodować w Base36?

O: Teoretycznie brak limitu, bo Base36 to tylko zapis pozycyjny. W praktyce ogranicza typ całkowity: w JavaScript Number.MAX_SAFE_INTEGER (2⁵³−1) to 2gosa7pa2gv; dla większych wartości użyj BigInt.

P: Dlaczego identyfikatory YouTube i skrócone linki wyglądają jak Base36/Base62?

O: Krótkie ID powstają zwykle przez zamianę dużej liczby całkowitej (ID z bazy lub skrót) na wyższą podstawę. Base36 nie rozróżnia wielkości liter; Base62 jest jeszcze krótszy, ale rozróżnia.

Inne języki

SKOPIOWANO!