Zo gebruik je het
- Kies Coderen om tekst naar Base62 om te zetten, of Decoderen om Base62 terug te zetten naar tekst.
- Kies bij Alfabet de volgorde die bij je systeem past: 0-9 A-Z a-z (standaard) of 0-9 a-z A-Z.
- Typ of plak je invoer, of open met Bestand openen een klein bestand (tot ongeveer 20 KB).
- Kopieer het resultaat met Kopiëren of sla het met Downloaden op als bestand.
Wat is Base62?
Base62 gebruikt de tien cijfers, de 26 hoofdletters en de 26 kleine letters. Het is het grootste alfabet dat alleen uit letters en cijfers bestaat, dus het resultaat heeft geen escaping nodig in URL's, bestandsnamen, databasesleutels of ID's in code. Elk teken draagt ongeveer 5,95 bits, waardoor de uitvoer ongeveer 1,34 keer zo groot is als de invoer. Dat is bijna even compact als Base64, maar zonder +, /, =, - of _.
Omdat 62 geen macht van twee is, behandelt deze tool de hele invoer als één groot getal en zet die om naar grondtal 62, net als bij Base58 en Base36. Elke voorloopnulbyte wordt als een voorloop-0 geschreven, zodat hij heen en terug behouden blijft. De invoer is beperkt tot ongeveer 20 KB, omdat de berekening bij grote hoeveelheden gegevens traag wordt.
Er is niet één Base62-standaard
Anders dan Base64 heeft Base62 geen RFC, en implementaties verschillen op punten waardoor hun uitvoer onderling niet compatibel is:
- Alfabetvolgorde. Deze tool biedt
0-9A-Za-z(de standaard) en0-9a-zA-Z. Sommige andere bibliotheken zetten de letters vóór de cijfers. - Voorloopnullen. Sommige implementaties houden één
0per voorloopnulbyte aan, zoals deze tool, andere laten ze weg, en formaten met een vaste lengte vullen het resultaat aan tot een vaste breedte. - Wat er wordt gecodeerd. Veel Base62-functies coderen een geheel getal, zoals een database-ID, in plaats van een reeks bytes. Andere verdelen de gegevens in blokken van vaste grootte.
Levert een string uit een ander systeem hier onzin op, probeer dan de andere alfabetoptie. Lukt het dan nog steeds niet, dan gebruikt dat systeem waarschijnlijk een andere methode.
Waar Base62 wordt gebruikt
URL-verkorters maken van een automatisch oplopende ID een korte code: zeven Base62-tekens dekken meer dan 3,5 biljoen waarden. Sorteerbare ID's zoals KSUID gebruiken een vaste Base62-vorm van 27 tekens, en veel diensten gebruiken Base62 voor API-sleutels en tokens, omdat je met een dubbelklik de hele string selecteert en hem overal kunt plakken. Om één geheel getal om te zetten, gebruik je de talstelselconverter of een paar regels code:
// JavaScript: geheel getal (BigInt) naar Base62
const A = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
function toBase62(n) {
let s = '';
do { s = A[Number(n % 62n)] + s; n /= 62n; } while (n > 0n);
return s;
}
toBase62(123456789n); // '8M0kX'
Specificatie
| Alfabet | 0-9 A-Z a-z |
|---|---|
| Uitvoergrootte | Ongeveer 134% (conversie als groot getal) |
| Opvulling | Geen |
| Standaard | Geen formele standaard |
| Hoofdlettergevoelig | Ja |
Voorbeelden
| Invoer (UTF-8) | Uitvoer |
|---|---|
Hello, World! | 1wJfrzvdbtXUOlUjUf |
Base64.is | NWxjrFq4r3rv |
你好 | 19PqtKE1t |
Veelgestelde vragen
Is Base62 URL-veilig?
Waarom levert mijn Base62-string bij het decoderen de verkeerde tekst op?
Base62-implementaties verschillen in alfabetvolgorde en methode. Wissel tussen de alfabetten 0-9A-Za-z en 0-9a-zA-Z. Werkt geen van beide, dan is de string waarschijnlijk gemaakt van een geheel getal of met een ander algoritme.
Is Base62 hoofdlettergevoelig?
Ja. Hoofdletters en kleine letters staan voor verschillende waarden, dus een Base62-string mag nooit naar hoofdletters of kleine letters worden omgezet.