Base64-afkodning

Indsæt en Base64-streng, og få den oprindelige tekst eller de oprindelige bytes tilbage. Linjeskift, URL-sikre tegn, manglende udfyldning og data:-præfikser håndteres automatisk, og fejlmeddelelser peger på det præcise tegn.

Kører udelukkende i din browser. Intet bliver uploadet.

Sådan bruger du værktøjet

  1. Indsæt Base64-strengen i inputfeltet, eller klik på Åbn fil for at indlæse en fil, der indeholder Base64-tekst.
  2. 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.
  3. Hvis afkodningen mislykkes, så læs fejlmeddelelsen: Den angiver positionen for det første ugyldige tegn.
  4. 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 -----BEGIN og -----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 medAfkodet indhold
iVBORw0KGgoPNG-billede
/9j/JPEG-billede
R0lGODGIF-billede
JVBERi0PDF-dokument
UEsDBZIP-arkiv, herunder DOCX, XLSX og JAR
H4sIgzip-komprimerede data
eyJJSON-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 PNG eller PK næ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

AlfabetA-Z a-z 0-9 + /
Outputstørrelse4 tegn pr. 3 bytes (ca. 133 %)
UdfyldningUdfyldes med = til et multiplum af 4 tegn
StandardRFC 4648 afsnit 4
Skelner mellem store og små bogstaverJa

Eksempler

Input (UTF-8)Output
Hello, World!SGVsbG8sIFdvcmxkIQ==
Base64.isQmFzZTY0Lmlz
你好5L2g5aW9

Ofte stillede spørgsmål

Hvorfor får jeg en fejl om et ugyldigt tegn?
Inputtet indeholder noget uden for Base64-alfabetet, for eksempel anførselstegn, en omvendt skråstreg eller procentkodninger som %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?
Ja. Dekoderen har ikke brug for de afsluttende =-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?
Når Base64 placeres i en forespørgselsstreng uden URL-kodning, gør formularafkodningen ofte hvert + 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?
Brug Base64 til billede til at få vist og downloade billeder, eller Base64 til fil til PDF'er, arkiver, lyd og andre filer. Begge genkender filtypen ud fra de første bytes.
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.