encode | decode | alfanumerico

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

// Base36 - codifica alfanumerica compatta con cifre 0-9 e lettere A-Z

0 caratteri
0 caratteri
[ALFANUMERICO]

Solo caratteri alfanumerici

Utilizza solo lettere A-Z e cifre 0-9, compatibile con database, URL e sistemi legacy.

[COMPATTO]

Rappresentazione compatta

Più compatto dei numeri decimali per valori grandi, mantenendo le stringhe leggibili e facili da condividere.

[URL-SAFE]

Ottimizzato per il web

Nessun carattere speciale: ideale per URL brevi, identificatori pubblici, codici prodotto e chiavi di licenza.

>> informazioni tecniche

Come funziona Base36:

Base36 è un sistema di numerazione in base 36 che usa 36 simboli (0-9 e A-Z). Ogni posizione rappresenta una potenza di 36, permettendo di comprimere numeri grandi in stringhe alfanumeriche brevi e leggibili.

Esempi Base36:

Numeri in Base36:
123 → 3F
1000 → RS
999999 → LFLR

Testo in Base36 (via byte):
Hi → 1Q5
ABC → 3O0AF

Uso tipico:
- ID video
- URL accorciate
- Token di sessione
- Codici prodotto
- Chiavi di licenza

Perché usare Base36:

  • ▸Generare identificatori brevi e leggibili a partire da numeri
  • ▸Creare token sicuri per URL senza caratteri speciali
  • ▸Comprimere valori numerici in stringhe alfanumeriche compatte
  • ▸In genere non sensibile al case, riduce errori dovuti alle maiuscole
  • ▸Alternativa più leggibile rispetto a rappresentazioni puramente esadecimali

>> domande frequenti

Che cos'è Base36?

Base36 è un sistema di numerazione posizionale che utilizza 36 simboli distinti: le cifre 0-9 e le lettere A-Z. Fornisce un modo compatto per rappresentare numeri usando solo caratteri alfanumerici.

Dove viene usato Base36?

Base36 è ampiamente usato per generare identificatori brevi, come URL accorciate, ID pubbliche, codici prodotto e token di sessione che devono essere leggibili e facili da condividere.

Base36 è sensibile alle maiuscole?

Nella maggior parte delle implementazioni Base36 non distingue tra maiuscole e minuscole: A-Z e a-z sono trattate allo stesso modo, rendendo il sistema più robusto rispetto alle modifiche di capitalizzazione.

Come si confronta Base36 con altri schemi di codifica?

Base36 è più compatto del decimale (base10), ma meno di esadecimale (base16) o Base64. Offre un buon compromesso tra compattezza e leggibilità utilizzando solo caratteri alfanumerici.

// Riferimento rapido

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

// Esempi di codice

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)

>> Altre domande

D: Come si scrive Base36 in JavaScript, Python o Java?

R: JavaScript, Java, PHP e Go lo supportano nativamente: (123).toString(36) restituisce "3f" e parseInt("3f", 36) torna a 123. In Python int(s, 36) decodifica; per codificare serve un piccolo ciclo.

D: Qual è il massimo intero codificabile in Base36?

R: Non esiste un massimo teorico: Base36 è solo una notazione posizionale. In pratica limita il tipo intero: in JavaScript Number.MAX_SAFE_INTEGER (2⁵³−1) è 2gosa7pa2gv; per valori maggiori usa BigInt.

D: Perché gli ID di YouTube e gli URL brevi sembrano Base36/Base62?

R: Gli ID brevi nascono di solito convertendo un intero grande (ID del database o hash) in una base più alta. Base36 ignora le maiuscole; Base62 è ancora più corto ma le distingue.

Altre lingue

COPIATO!