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ą

Base16 (Šešioliktainis): Naudoja simbolius 0-9 ir A-F. Kiekvienas simbolis atitinka 4 bitus. Dažnai naudojamas spalvų kodams ir atminties adresams.
Base32: Naudoja simbolius A-Z ir 2-7. Kiekvienas simbolis atitinka 5 bitus. Nejautrūs didžiosioms raidėms ir lengvai skaitomi.
Base64: Naudoja simbolius A-Z, a-z, 0-9, +, ir /. Kiekvienas simbolis atitinka 6 bitus. Dažnai naudojamas dvejetainių duomenų kodavimui tekste.
Saugaus sveikojo skaičiaus riba: JavaScript gali saugiai vaizduoti sveikuosius skaičius iki 9.007.199.254.740.991 (2^53 - 1) be tikslumo praradimo.
📚

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-9 ir A-F. Kiekvienas simbolis perteikia 4 bitus. Plačiai naudojama spalvų kodams (#FF0000), atminties adresams ir maišos (hash) reikšmėms.
  • Base32 — simboliai A-Z ir 2-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 yra F. Todėl #FFFFFF reiškia baltą spalvą: trys baitai, kiekvienas pasiekęs maksimumą.
  • 1000 dešimtainėje sistemoje. Base16 = 3E8 (3×256 + 14×16 + 8 = 1000).
  • FF iš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.
  • Base64data: 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.

🔗

Susiję įrankiai

Raskite daugiau įrankių, kurie gali būti naudingi jūsų darbo eiga.