encode | decode | alfanumerisk

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

// Base36 – kompakt alfanumerisk koding med sifre 0-9 og bokstaver A-Z

0 tegn
0 tegn
[ALFANUMERISK]

Bare bokstaver og tall

Bruker kun sifre 0-9 og bokstaver A-Z, og er dermed kompatibel med databaser, URL-er og tekstbaserte systemer.

[KOMPAKT]

Kompakt representasjon

Mer kompakt enn desimalrepresentasjon for store tall, samtidig som strenger forblir lettleste.

[URL-SAFE]

URL-vennlig

Ingen spesialtegn – ideelt for korte lenker, offentlige ID-er, produktkoder og lisensnøkler.

>> teknisk info

Hvordan Base36 fungerer:

Base36 er et posisjonssystem med base 36 som bruker 36 symboler (0-9 og A-Z). Hver posisjon representerer en potens av 36, slik at store tall kan kodes som korte alfanumeriske strenger.

Base36-eksempler:

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

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

Vanlige bruksområder:
- Video-/ressurs-ID-er
- Korte URL-er
- Sesjonstoken
- Produktkoder
- Lisensnøkler

Hvorfor bruke Base36:

  • ▸Generere korte, lesbare ID-er fra store tall
  • ▸Lage URL-sikre token uten spesialtegn
  • ▸Kompaktere representasjon av numeriske verdier som alfanumeriske strenger
  • ▸Ofte ikke skriftfølsomt, noe som reduserer feil ved endret bruk av små/store bokstaver
  • ▸Mer brukervennlig enn mange rene heksadesimale representasjoner

>> ofte stilte spørsmål

Hva er Base36?

Base36 er et posisjonssystem som bruker 36 ulike symboler: sifrene 0-9 og bokstavene A-Z. Det gir en kompakt måte å representere tall med kun alfanumeriske tegn.

Hvor brukes Base36 vanligvis?

Base36 brukes ofte til korte offentlige ID-er, korte URL-er, produktkoder og sesjonstoken, der man ønsker både kompakte og lettleste identifikatorer.

Er Base36 skriftfølsomt?

I de fleste implementasjoner er Base36 ikke skriftfølsomt – A-Z og a-z behandles likt, noe som reduserer feil knyttet til endret kapitalisering.

Hvordan sammenlignes Base36 med andre kodingsmetoder?

Base36 er mer kompakt enn desimal (base10), men mindre kompakt enn heksadesimal (base16) eller Base64. Det gir en god balanse mellom kompakt representasjon og lesbarhet.

// Hurtigreferanse

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

// Kodeeksempler

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)

>> Flere spørsmål

S: Hvordan skriver jeg Base36 i JavaScript, Python eller Java?

S: JavaScript, Java, PHP og Go har det innebygd: (123).toString(36) gir "3f", og parseInt("3f", 36) gir 123 igjen. I Python dekoder int(s, 36); for koding skriver du en liten løkke.

S: Hva er det største heltallet jeg kan kode i Base36?

S: Det finnes ingen teoretisk grense, Base36 er bare posisjonsnotasjon. I praksis begrenser heltallstypen: i JavaScript er Number.MAX_SAFE_INTEGER (2⁵³−1) lik 2gosa7pa2gv; for større verdier brukes BigInt.

S: Hvorfor ligner YouTube-ID-er og korte lenker på Base36/Base62?

S: Korte ID-er lages som regel ved å konvertere et stort heltall (database-ID eller hash) til en høyere base. Base36 ignorerer store/små bokstaver; Base62 er enda kortere, men skiller.

Andre språk

KOPIERT!