Sådan bruger du værktøjet
- Indsæt Base64-strengen i inputfeltet, eller klik på Åbn fil for at indlæse en fil, der indeholder Base64-tekst.
- Behold Tekst som output, og vælg tegnsættet under Tegnkodning (UTF-8 som standard), eller vælg Hex under Output som ved binære data.
- Hvis afkodningen mislykkes, så læs fejlmeddelelsen: Den angiver positionen for det første ugyldige tegn.
- Kopiér det afkodede resultat, eller download det.
Hvad dekoderen accepterer
Afkodning vender kodningen om: Hvert tegn oversættes tilbage til sin 6-bit-værdi, og hver gruppe på fire tegn bliver til tre bytes. Base64 fra den virkelige verden er sjældent helt ren, så denne dekoder er tolerant:
- Mellemrum og linjeskift ignoreres, så ombrudte MIME-meddelelser og PEM-blokke kan indsættes, som de er. Slet dog først linjerne
-----BEGINog-----END: Deres bogstaver og bindestreger er gyldige Base64-tegn og ville blive afkodet som data. - URL-sikkert input med
-og_afkodes præcis som standard-Base64 med+og/. - Manglende udfyldning er ikke noget problem. Kun en længde på 4n + 1 tegn afvises, fordi ét overskydende tegn ikke kan danne en byte; det betyder som regel, at strengen er blevet afkortet.
- Data URI'er fungerer også: Et indledende
data:...;base64,-præfiks fjernes før afkodningen.
Tekst eller binært output
Resultatet af en afkodning er altid en sekvens af bytes. Hvis originalen var tekst, skal du beholde Tekst som output og vælge det tegnsæt, den er skrevet i. Hvis det var et billede, en PDF, et arkiv, en nøgle eller krypteret tekst, kan intet tegnsæt gøre det læsbart: Vælg Hex under Output som for at undersøge bytene, eller åbn Base64 til fil eller Base64 til billede for at få vist og gemme indholdet. De første tegn afslører ofte, hvad det er:
| Base64 begynder med | Afkodet indhold |
|---|---|
iVBORw0KGgo | PNG-billede |
/9j/ | JPEG-billede |
R0lGOD | GIF-billede |
JVBERi0 | PDF-dokument |
UEsDB | ZIP-arkiv, herunder DOCX, XLSX og JAR |
H4sI | gzip-komprimerede data |
eyJ | JSON-objekt, for eksempel en JWT-header |
Derfor ligner den afkodede tekst volapyk
- Forkert tegnsæt. UTF-8-tekst, der læses som Windows-1252, gør é til
é, og GBK- eller Shift_JIS-tekst, der læses som UTF-8, viser erstatningstegn (�). Vælg det tegnsæt, teksten er skrevet i. - Binære data. Tilfældige symboler med et enkelt læsbart brudstykke hist og her, for eksempel
PNGellerPKnær begyndelsen, betyder, at indholdet er en fil og ikke tekst. - Komprimerede eller krypterede data. gzip-strømme, Protocol Buffers og krypteret tekst afkodes korrekt, men er ikke tekst. Hex-output viser, hvad der reelt er der.
- Dobbelt kodning. Hvis outputtet selv er Base64, så indsæt det i inputfeltet igen, og afkod det en gang til.
Afkodning af Base64 i kode
# Python
base64.b64decode(s).decode('utf-8')
// Node.js (accepterer også URL-sikkert input)
Buffer.from(s, 'base64').toString('utf8')
// Browser: atob() returnerer ét tegn pr. byte, så afkod UTF-8 bagefter
new TextDecoder().decode(Uint8Array.from(atob(s), c => c.charCodeAt(0)))
# Shell på Linux og macOS
echo 'SGVsbG8=' | base64 --decode
Specifikation
| Alfabet | A-Z a-z 0-9 + / |
|---|---|
| Outputstørrelse | 4 tegn pr. 3 bytes (ca. 133 %) |
| Udfyldning | Udfyldes med = til et multiplum af 4 tegn |
| Standard | RFC 4648 afsnit 4 |
| Skelner mellem store og små bogstaver | Ja |
Eksempler
| Input (UTF-8) | Output |
|---|---|
Hello, World! | SGVsbG8sIFdvcmxkIQ== |
Base64.is | QmFzZTY0Lmlz |
你好 | 5L2g5aW9 |
Ofte stillede spørgsmål
Hvorfor får jeg en fejl om et ugyldigt tegn?
%2B og %3D, der er kopieret fra en URL. Fjern anførselstegnene, eller URL-afkod strengen først. Fejlmeddelelsen viser positionen for det første problematiske tegn.Kan jeg afkode Base64 uden udfyldning?
=-tegn, så strenge uden udfyldning fra JWT'er, URL'er og API'er afkodes helt normalt.Hvorfor er outputtet forkert, når jeg har kopieret Base64 fra en URL?
+ til et mellemrum. Mellemrum ignoreres her, så de tegn går tabt. Erstat mellemrummene med + før afkodningen, og brug Base64URL til værdier, der sendes i URL'er.Hvordan afkoder jeg Base64 til et billede eller en fil?
Bliver min Base64 sendt til en server?
Nej. Afkodningen kører i din browser med JavaScript, og inputtet forlader aldrig din enhed. Det er vigtigt, når du afkoder tokens, hemmeligheder fra konfigurationsfiler eller personoplysninger.