> base36 | 0-9,A-Z | compact <
// Base36 – compacte alfanumerische codering met cijfers 0-9 en letters A-Z
Alleen alfanumeriek
Gebruikt uitsluitend letters A-Z en cijfers 0-9, compatibel met vrijwel alle systemen en databasen.
Compacte representatie
Compacter dan decimale notatie voor grote getallen, terwijl de strings leesbaar en deelbaar blijven.
URL‑vriendelijk
Geen speciale tekens – ideaal voor korte URL's, publieke ID's, productcodes en licentiesleutels.
>> technische info
Hoe Base36 werkt:
Base36 is een positiestelsel met basis 36 en gebruikt 36 symbolen (0-9 en A-Z). Elke positie stelt een macht van 36 voor, waardoor grote getallen in korte alfanumerieke tekenreeksen kunnen worden gecodeerd.
Base36‑voorbeelden:
Getallen naar Base36: 123 → 3F 1000 → RS 999999 → LFLR Tekst naar Base36 (via bytes): Hi → 1Q5 ABC → 3O0AF Veelvoorkomende toepassingen: - Video‑ID's - Korte URL's - Sessietokens - Productcodes - Licentiesleutels
Waarom Base36 gebruiken:
- ▸Korte, leesbare identifiers uit grote getallen genereren
- ▸URL‑veilige tokens zonder speciale tekens maken
- ▸Numerieke waarden in compacte alfanumerieke strings omzetten
- ▸Vaak niet hoofdlettergevoelig, robuust bij variaties in schrijfwijze
- ▸Gebruiksvriendelijker dan puur hexadecimale of binaire representaties
>> veelgestelde vragen
Wat is Base36?
Base36 is een positiestelsel dat 36 verschillende symbolen gebruikt: de cijfers 0-9 en de letters A-Z. Het biedt een compacte manier om getallen voor te stellen met uitsluitend alfanumerieke tekens.
Waar wordt Base36 doorgaans voor gebruikt?
Base36 wordt vaak gebruikt voor korte publieke ID's zoals korte URL's, video‑ID's, productcodes en sessietokens die leesbaar en makkelijk te delen moeten zijn.
Is Base36 hoofdlettergevoelig?
In de meeste implementaties is Base36 niet hoofdlettergevoelig – A-Z en a-z worden gelijk behandeld. Dat voorkomt fouten wanneer systemen of gebruikers hoofdletters wijzigen.
Hoe verhoudt Base36 zich tot andere encodings?
Base36 is compacter dan decimaal (basis 10), maar minder compact dan hexadecimaal (basis 16) of Base64. Het biedt een goed evenwicht tussen compactheid en leesbaarheid.
// Snelle referentie
| DEC | HEX | Base36 | Base62 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 35 | 23 | z | z |
| 36 | 24 | 10 | A |
| 100 | 64 | 2s | 1c |
| 1000 | 3e8 | rs | G8 |
| 123456789 | 75bcd15 | 21i3v9 | 8M0kX |
| 4294967295 | ffffffff | 1z141z3 | 4gfFC3 |
// Codevoorbeelden
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)
>> Meer vragen
V: Hoe schrijf ik Base36 in JavaScript, Python of Java?
A: JavaScript, Java, PHP en Go hebben het ingebouwd: (123).toString(36) geeft "3f" en parseInt("3f", 36) geeft weer 123. In Python decodeert int(s, 36); voor coderen schrijf je een kleine lus.
V: Wat is het grootste gehele getal dat ik in Base36 kan coderen?
A: Theoretisch geen maximum: Base36 is slechts een positienotatie. In de praktijk beperkt het integertype: in JavaScript is Number.MAX_SAFE_INTEGER (2⁵³−1) gelijk aan 2gosa7pa2gv; gebruik BigInt voor grotere waarden.
V: Waarom lijken YouTube-ID’s en korte URL’s op Base36/Base62?
A: Korte ID’s ontstaan meestal door een groot geheel getal (database-ID of hash) om te zetten naar een hoger grondtal. Base36 negeert hoofdletters; Base62 is nog korter maar maakt wel onderscheid.