Base64-dekoding

Lim inn en Base64-streng og få tilbake den opprinnelige teksten eller bytene. Linjeskift, URL-sikre tegn, manglende utfylling og data:-prefikser håndteres automatisk, og feilmeldingene peker på nøyaktig hvilket tegn som er feil.

Kjører helt i nettleseren din. Ingenting lastes opp.

Slik bruker du verktøyet

  1. Lim inn Base64-strengen i inndatafeltet, eller klikk på Åpne fil for å laste inn en fil som inneholder Base64-tekst.
  2. Behold Tekst som utdata og velg tegnsett under Tegnkoding (UTF-8 som standard), eller bytt utdata til Hex for binærdata.
  3. Hvis dekodingen mislykkes, leser du feilmeldingen: Den oppgir posisjonen til det første ugyldige tegnet.
  4. Kopier det dekodede resultatet eller last det ned.

Hva dekoderen godtar

Dekoding reverserer kodingen: Hvert tegn blir gjort om til sin 6-biters verdi igjen, og hver gruppe på fire tegn blir til tre byte. Base64 du finner i praksis, er sjelden helt ren, så denne dekoderen er tilgivende:

  • Mellomrom og linjeskift ignoreres, så MIME-innhold med linjebryting og PEM-blokker kan limes inn som de er. Slett likevel linjene -----BEGIN og -----END først: Bokstavene og bindestrekene i dem er gyldige Base64-tegn og ville blitt dekodet som data.
  • URL-sikre inndata med - og _ dekodes akkurat som standard Base64 med + og /.
  • Manglende utfylling går helt fint. Bare en lengde på 4n + 1 tegn avvises, fordi ett enkelt tegn til overs ikke kan utgjøre en byte. Det betyr som regel at strengen er avkortet.
  • Data URI-er fungerer også: Et innledende data:...;base64,-prefiks fjernes før dekodingen.

Tekst eller binære utdata

Resultatet av en dekoding er alltid en sekvens av byte. Hvis originalen var tekst, beholder du tekst som utdata og velger tegnsettet. Hvis det var et bilde, en PDF, et arkiv, en nøkkel eller chiffertekst, kan ingen tegnsett gjøre det lesbart. Bytt da utdata til Hex for å undersøke bytene, eller åpne Base64 til fil eller Base64 til bilde for å forhåndsvise og lagre innholdet. De første tegnene avslører ofte hva det er:

Base64 starter medDekodet innhold
iVBORw0KGgoPNG-bilde
/9j/JPEG-bilde
R0lGODGIF-bilde
JVBERi0PDF-dokument
UEsDBZIP-arkiv, også DOCX, XLSX og JAR
H4sIgzip-komprimerte data
eyJJSON-objekt, for eksempel en JWT-header

Hvorfor den dekodede teksten ser uleselig ut

  • Feil tegnsett. UTF-8-tekst som leses som Windows-1252, gjør é om til é, og GBK- eller Shift_JIS-tekst som leses som UTF-8, viser erstatningstegn (�). Velg tegnsettet teksten opprinnelig ble skrevet i.
  • Binærdata. Tilfeldige symboler med et og annet lesbart fragment, som PNG eller PK nær begynnelsen, betyr at innholdet er en fil og ikke tekst.
  • Komprimerte eller krypterte data. gzip-strømmer, Protocol Buffers og chiffertekst dekodes riktig, men er ikke tekst. Hex-utdata viser hva som faktisk finnes der.
  • Dobbel koding. Hvis utdataene selv er Base64, limer du dem inn i inndatafeltet igjen og dekoder en gang til.

Dekoding av Base64 i kode

# Python
base64.b64decode(s).decode('utf-8')

// Node.js (godtar også URL-sikre inndata)
Buffer.from(s, 'base64').toString('utf8')

// Nettleser: atob() returnerer ett tegn per byte, så dekod UTF-8 etterpå
new TextDecoder().decode(Uint8Array.from(atob(s), c => c.charCodeAt(0)))

# Skall på Linux og macOS
echo 'SGVsbG8=' | base64 --decode

Spesifikasjon

AlfabetA-Z a-z 0-9 + /
Utdatastørrelse4 tegn per 3 byte (omtrent 133 %)
UtfyllingMed = til et multiplum av 4 tegn
StandardRFC 4648, avsnitt 4
Skiller store og små bokstaverJa

Eksempler

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

Ofte stilte spørsmål

Hvorfor får jeg en feilmelding om ugyldig tegn?
Inndataene inneholder noe utenfor Base64-alfabetet, for eksempel anførselstegn, en omvendt skråstrek eller prosentkoder som %2B og %3D som er kopiert fra en URL. Fjern anførselstegnene eller URL-dekod strengen først. Feilmeldingen viser posisjonen til det første tegnet som skaper problemer.
Kan jeg dekode Base64 uten utfylling?
Ja. Dekoderen trenger ikke =-tegnene på slutten, så strenger uten utfylling fra JWT-er, URL-er og API-er dekodes helt normalt.
Hvorfor blir utdataene feil når jeg har kopiert Base64 fra en URL?
Når Base64 legges inn i en spørrestreng uten prosentkoding, gjør skjemadekoding ofte hvert + om til et mellomrom. Mellomrom ignoreres her, så disse tegnene går tapt. Erstatt mellomrommene med + før du dekoder, og bruk Base64URL for verdier som skal sendes i URL-er.
Hvordan dekoder jeg Base64 til et bilde eller en fil?
Bruk Base64 til bilde for å forhåndsvise og laste ned bilder, eller Base64 til fil for PDF-er, arkiver, lyd og andre filer. Begge gjenkjenner filtypen ut fra de første bytene.
Blir Base64-dataene mine sendt til en server?

Nei. Dekodingen kjører i nettleseren din med JavaScript, og inndataene forlater aldri enheten din. Det er viktig når du dekoder tokener, hemmeligheter fra konfigurasjon eller personopplysninger.