Dvikryptis skaičių sistemų keitiklis: Hex, Base32, Base64
Konvertuokite skaičius tarp dešimtainės, Base16 (šešioliktainės), Base32 ir Base64 abiem kryptimis su automatiniu bazės atpažinimu ir simbolių tikrinimu.
Dvikriptė bazinė konverterio priemonė
Konvertuokite tarp dešimtainių skaičių ir standartinių bazinių kodavimų (Base16/Hex, Base32, Base64). Įveskite reikšmę bet kuriame lauke, kad konvertuotumėte.
Įveskite teigiamą sveikąjį skaičių (maks.: 9.007.199.254.740.991)
Įveskite Base16, Base32 arba Base64 užkoduotą reikšmę
Apie bazinį kodavimą
Dokumentacija
Dvikryptis skaičių sistemų keitiklis: dešimtainė ↔ Base16, Base32, Base64
Skaičių sistemos keitiklis verčia skaičių iš vieno užrašymo būdo į kitą. Kompiuteriai, URL adresai ir duomenų formatai retai saugo paprastą dešimtainį skaičių — jie jį suglaudina arba užkoduoja saugiam perdavimui naudodami tokį kodavimą kaip Base16 (šešioliktainė sistema), Base32 arba Base64. Šis įrankis konvertuoja abiem kryptimis: įveskite dešimtainį skaičių ir pamatykite jo Base16/Base32/Base64 formą, arba įklijuokite užkoduotą reikšmę ir gaukite dešimtainį skaičių atgal. Jis taip pat automatiškai nustato, kokia baze užkoduota įvesta reikšmė.
Ką reiškia „bazė“
Kiekviena pozicinė skaičių sistema turi bazę (arba radiksą) — skirtingų simbolių, naudojamų vienam skaitmeniui, skaičių. Dešimtainė sistema yra bazės 10 (0–9). Čia aprašomi kodavimai iškeičia didesnį simbolių rinkinį į trumpesnę eilutę:
- Base16 (šešioliktainė sistema) — simboliai
0-9irA-F. Kiekvienas simbolis perteikia 4 bitus. Plačiai naudojama spalvų kodams (#FF0000), atminties adresams ir maišos (hash) reikšmėms. - Base32 — simboliai
A-Zir2-7(RFC 4648). Kiekvienas simbolis perteikia 5 bitus. Neskiria didžiųjų ir mažųjų raidžių bei nenaudoja lengvai supainiojamų simbolių, todėl tinka perskaityti garsiai arba surinkti ranka. - Base64 — simboliai
A-Z,a-z,0-9,+ir/(RFC 4648). Kiekvienas simbolis perteikia 6 bitus. Standartinis būdas perduoti dvejetainius duomenis tik tekstą palaikančiais kanalais, pavyzdžiui, el. paštu ar JSON lauke.
Kuo didesnė bazė, tuo mažiau simbolių reikia tam pačiam skaičiui užrašyti — bet tuo didesnę abėcėlę reikia atsiminti.
Kaip naudoti keitiklį
Įrankyje yra du laukai, ir jis veikia priklausomai nuo to, kuriame įvedate reikšmę:
- Dešimtainis → užkoduotas. Įveskite teigiamą sveikąjį skaičių dešimtainiame lauke. Įrankis iš karto parodo reikšmę Base16, Base32 ir Base64 formatais.
- Užkoduotas → dešimtainis. Įklijuokite Base16, Base32 arba Base64 reikšmę užkoduotame lauke. Įrankis nustato bazę, patikrina simbolių tinkamumą ir grąžina dešimtainį skaičių.
Ribos ir tikrinimas
Reikšmės ribojamos JavaScript didžiausiu saugiu sveikuoju skaičiumi, 9007199254740991 (tai yra 2^53 − 1). Viršijus šią ribą, sveikieji skaičiai nebegali būti tiksliai pavaizduoti, todėl toliau skaičiuojantis keitiklis tyliai grąžintų klaidingus skaitmenis — vietoje spėliojimo įrankis praneša apie ribos viršijimo klaidą. Dešimtainė įvestis turi būti neneigiamas sveikasis skaičius; užkoduota įvestis turi naudoti tik tai bazei tinkamus simbolius, kitaip įrankis pažymi klaidą, o ne iškoduoja beprasmę reikšmę.
Praktiniai pavyzdžiai
- 255 dešimtainėje sistemoje. Base16 =
FF, nes 255 = 15×16 + 15, ir abu skaitmenys yraF. Todėl#FFFFFFreiškia baltą spalvą: trys baitai, kiekvienas pasiekęs maksimumą. - 1000 dešimtainėje sistemoje. Base16 =
3E8(3×256 + 14×16 + 8 = 1000). FFiškodavimas. Nustatoma kaip Base16, iškoduojama į 255.- Baitas, pasiekęs maksimumą (8 bitai), šešioliktainėje sistemoje yra
FF— vienas šešioliktainis simbolis atitinka 4 bitus, taigi du simboliai vienam baitui. Tam pačiam baitui Base32 reikia ilgesnės eilutės, o Base64 — papildyto (padded) bloko, todėl šešioliktainė sistema išlieka patogiausias pasirinkimas trumpoms reikšmėms, pavyzdžiui, spalvoms ir adresams.
Kur naudojamas kiekvienas kodavimas
- Base16 — CSS/HTML spalvos, MAC ir IPv6 adresai, kriptografinės maišos (hash) reikšmės ir kontrolinės sumos, dvejetainių failų šešioliktainiai išklotiniai (hex dump).
- Base32 — TOTP/2FA slapti raktai, kai kurios failų dalijimosi ir DNS pagrįstos sistemos, žmogaus ranka įvedami ar ištariami identifikatoriai, kuriuose būtina išvengti raidžių dydžio ar simbolių supainiojimo.
- Base64 —
data:URI adresai, el. laiškų priedai (MIME), paveikslėlių ar sertifikatų įterpimas į JSON ar XML, JWT žetonai (tokens).
Kadangi kiekvienas kodavimas yra tik to paties skaičiaus atvaizdavimas, konvertavimas tarp jų niekada nekeičia pačios reikšmės — keičiasi tik tai, kiek simbolių reikia jai užrašyti ir per kuriuos kanalus ją galima saugiai perduoti.