UltKit

Base64 kóðun og afkóðun

Breyttu texta eða skrá í Base64, eða afkóðaðu Base64 aftur í læsilegan texta. Unicode er meðhöndlað rétt, URL-öruggt stafróf er einum smelli frá og afkóðun tekur við hvoru stafrófinu sem er, með eða án fyllingar.

Stilling

0 stafir · 0 orð · 0 línur

0 stafir · 0 orð · 0 línur

Keyrir alfarið í þessum vafraflipa. Textinn þinn er aldrei sendur inn eða vistaður.

Base64-stafrófið

Vísir → stafur samkvæmt RFC 4648. Síðustu tveir, sem eru auðkenndir, eru ólíkir í URL-öruggu útgáfunni: 62 er + eða -, 63 er / eða _.

  1. 0A
  2. 1B
  3. 2C
  4. 3D
  5. 4E
  6. 5F
  7. 6G
  8. 7H
  9. 8I
  10. 9J
  11. 10K
  12. 11L
  13. 12M
  14. 13N
  15. 14O
  16. 15P
  17. 16Q
  18. 17R
  19. 18S
  20. 19T
  21. 20U
  22. 21V
  23. 22W
  24. 23X
  25. 24Y
  26. 25Z
  27. 26a
  28. 27b
  29. 28c
  30. 29d
  31. 30e
  32. 31f
  33. 32g
  34. 33h
  35. 34i
  36. 35j
  37. 36k
  38. 37l
  39. 38m
  40. 39n
  41. 40o
  42. 41p
  43. 42q
  44. 43r
  45. 44s
  46. 45t
  47. 46u
  48. 47v
  49. 48w
  50. 49x
  51. 50y
  52. 51z
  53. 520
  54. 531
  55. 542
  56. 553
  57. 564
  58. 575
  59. 586
  60. 597
  61. 608
  62. 619
  63. 62+ -
  64. 63/ _

Hversu langt úttakið verður

Hver 3 inntaksbæti verða að 4 stöfum; lokahópur með 1 eða 2 bætum er fylltur með = í hefðbundnu Base64 og ófylltur í URL-öruggu formi.

InntakBætiHefðbundiðURL-öruggtLengd
U1VQ==VQ4
Ul2VWw=VWw4
Ult3VWx0VWx04
UltK4VWx0Sw==VWx0Sw8
UltKi5VWx0S2k=VWx0S2k8
UltKit6VWx0S2l0VWx0S2l08

Hvað Base64 gerir

Base64, sem er skilgreint í RFC 4648, skrifar hvaða bæti sem er með 64 prentanlegum ASCII-stöfum: A–Z, a–z, 0–9, + og /. Hverjum þremur bætum (24 bitum) er skipt í fjórar 6 bita tölur og hver tala velur einn staf úr stafrófinu. Ef lengd inntaksins er ekki margfeldi af þremur er síðasti hópurinn fylltur með einu eða tveimur =-merkjum. Niðurstaðan er alltaf um 33% stærri en inntakið: 4 stafir fyrir hver 3 bæti.

Það er til því að margar boðleiðir voru smíðaðar fyrir texta. Tölvupóstur (MIME), data: slóðir í HTML og CSS, JSON-reitir sem bera myndir eða skilríki og HTTP Basic auðkenningarhausar nota allt Base64 til að flytja tvíundargögn örugglega. Það er ekki dulkóðun og felur ekkert; afkóðun þarf engan lykil.

Unicode og URL-örugga útgáfan

Base64 umritar bæti, ekki bókstafi, svo texta þarf fyrst að breyta í bæti. Þetta tól notar alltaf UTF-8, sem vefurinn byggir á: é verður að tveimur bætum og emoji-tákn að fjórum. Innbyggða btoa-fall vafrans gefur eitt og sér villu á alla stafi yfir U+00FF, þess vegna bregðast einföld umritunartól á áherslustöfum og emoji; hér fer textinn fyrst í gegnum TextEncoder og afkóðun snýr því við með TextDecoder. Ef afkóðuð bæti eru ekki gilt UTF-8 (mynd, zip-skrá) sýnir tólið þau sem sextándakerfi í stað ólæsilegs texta.

Venjulegt Base64 notar + og /, sem hafa sérstaka merkingu í slóðum og skráarnöfnum. URL-öruggt stafróf úr 5. kafla RFC 4648 kemur í staðinn með - og _ og fyllingin er yfirleitt felld niður. JSON Web Tokens nota einmitt þetta snið. Afkóðarinn tekur við báðum stafrófum og fyllingu sem vantar, svo þú getur límt inn hvort sem er.

Kóðun skráa og mynda

Veldu skrá og tólið les hana staðbundið með FileReader og skilar Base64-gildi hennar, eða heilli data: slóð með MIME-gerð skrárinnar tilbúinni til að líma í img-merki eða CSS-bakgrunn. Innfelldar myndir spara HTTP-beiðni en stækka um þriðjung og er ekki hægt að vista sérstaklega í skyndiminni, svo þær henta fyrir lítil tákn frekar en ljósmyndir. Fyrir myndir með forskoðun og tilbúnum HTML- og CSS-bútum skaltu nota Mynd í Base64.

Algengar spurningar

Af hverju er Base64-úttakið lengra en inntakið?
Hver 3 bæti verða að 4 stöfum, svo úttakið er um 4/3 af stærð inntaksins, auk allt að tveggja fyllistafa. Texti utan ASCII er enn lengri því UTF-8 notar tvö til fjögur bæti á staf.
Hvað þýða =-merkin í lokin?
Fylling. Þau gera lengd úttaksins að margfeldi af fjórum þegar lengd inntaksins er ekki margfeldi af þremur. Eitt = þýðir að síðasti hópurinn hafði tvö bæti, tvö == að hann hafði eitt bæti.
Af hverju mistekst afkóðun með villu um ógildan staf?
Inntakið inniheldur eitthvað utan stafrófsins, svo sem bil inni í orði, gæsalappir eða % úr URL-umritun. Línuskil og fylling sem vantar eru leyfð; aðrir stafir ekki.
Er öruggt að kóða lykilorð í Base64?
Base64 veitir enga vernd. HTTP Basic auðkenning sendir notandi:lykilorð í Base64, þess vegna má aðeins nota hana yfir HTTPS. Notaðu raunverulega dulkóðun eða hakkagildi til að verja leyndarmál.
Hver er munurinn á Base64 og Base64url?
Aðeins tveir stafir og fyllingin: Base64url notar - og _ í stað + og / og sleppir yfirleitt =, svo niðurstaðan geti verið í slóðum og skráarnöfnum án þess að þurfa umbreytingu.