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.
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 _.
- 0A
- 1B
- 2C
- 3D
- 4E
- 5F
- 6G
- 7H
- 8I
- 9J
- 10K
- 11L
- 12M
- 13N
- 14O
- 15P
- 16Q
- 17R
- 18S
- 19T
- 20U
- 21V
- 22W
- 23X
- 24Y
- 25Z
- 26a
- 27b
- 28c
- 29d
- 30e
- 31f
- 32g
- 33h
- 34i
- 35j
- 36k
- 37l
- 38m
- 39n
- 40o
- 41p
- 42q
- 43r
- 44s
- 45t
- 46u
- 47v
- 48w
- 49x
- 50y
- 51z
- 520
- 531
- 542
- 553
- 564
- 575
- 586
- 597
- 608
- 619
- 62+ -
- 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.
| Inntak | Bæti | Hefðbundið | URL-öruggt | Lengd |
|---|---|---|---|---|
U | 1 | VQ== | VQ | 4 |
Ul | 2 | VWw= | VWw | 4 |
Ult | 3 | VWx0 | VWx0 | 4 |
UltK | 4 | VWx0Sw== | VWx0Sw | 8 |
UltKi | 5 | VWx0S2k= | VWx0S2k | 8 |
UltKit | 6 | VWx0S2l0 | VWx0S2l0 | 8 |
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.