Slik bruker du verktøyet
- Lim inn Base64-strengen eller hele data URI-en i inndatafeltet. Mellomrom og linjeskift spiller ingen rolle.
- Sjekk den gjenkjente filtypen og størrelsen. Bilder, PDF-er, lyd, video og tekst vises i en forhåndsvisning.
- Last ned filen. Den lagres med et navn og en filtype som passer til den gjenkjente typen.
Slik gjenkjennes filtypen
Base64-tekst bærer byte, ikke et filnavn. Med mindre du limer inn en data URI med MIME-type, står det ingenting i strengen om den inneholder en PDF, et ZIP-arkiv eller en lyd. Verktøyet dekoder derfor dataene og undersøker de første bytene, altså filsignaturen eller de «magiske bytene» som de fleste formater plasserer helt i begynnelsen. Fordi disse bytene er faste, begynner også Base64-teksten for hvert format på en gjenkjennelig måte:
| Format | Første byte | Base64 begynner med |
|---|---|---|
%PDF | JVBER | |
| PNG | 89 50 4E 47 | iVBORw0KGgo |
| JPEG | FF D8 FF | /9j/ |
| GIF | GIF8 | R0lGOD |
| ZIP (også DOCX, XLSX, JAR) | PK 03 04 | UEsDB |
| MP3 med ID3-tagg | ID3 | SUQz |
| WAV, WebP, AVI (RIFF) | RIFF | UklGR |
Når den dekodede filen ikke vil åpnes
Base64-dekoding er tapsfri, så en ødelagt fil betyr nesten alltid at inndataene ikke var det du trodde. Sjekk disse årsakene i denne rekkefølgen:
- Avkortede inndata. Loggfiler, terminaler, regnearkceller og chatteapper kutter ofte lange strenger. Mangler det tekst på slutten, blir filen for kort, og de fleste formater nekter da å åpne den. Kjenner du den opprinnelige størrelsen, kan du sammenligne den med den dekodede størrelsen.
- Ekstra tegn. Anførselstegn, komma eller et feltnavn som ble kopiert sammen med verdien, eller escape-sekvenser som
\/og\nfra en JSON-streng, hører ikke til Base64. Kopier bare selve verdien. - En annen koding eller variant. Hex, Base32, Base85 eller et egendefinert alfabet kan ved første øyekast ligne, men blir til rot når det dekodes som Base64. Kodingsgjenkjenneren prøver alle dekoderne og viser hvilken som passer.
- Ikke en fil i det hele tatt. Gjenkjennes resultatet som ren tekst, var strengen Base64 av tekst: JSON, et token eller enda et lag med Base64. Les den med Base64-dekoderen, og dekod én gang til hvis utdataene igjen er Base64.
Base64-validatoren lister opp ugyldige tegn med posisjon og melder fra om problemer med utfylling, noe som gjør det lettere å finne en skadet del.
Dekod Base64 til en fil i kode
# Python
import base64
with open('output.bin', 'wb') as f:
f.write(base64.b64decode(data))
// Node.js
fs.writeFileSync('output.bin', Buffer.from(data, 'base64'));
# Linux
base64 -d input.txt > output.bin
# macOS
base64 -D -i input.txt -o output.bin
# Windows PowerShell
[IO.File]::WriteAllBytes("C:\files\output.bin", [Convert]::FromBase64String((Get-Content input.txt -Raw)))
Ofte stilte spørsmål
Hvilke filtyper kan gjenkjennes?
Vanlige formater med en tydelig signatur: PDF, ZIP, GZIP, 7z- og RAR-arkiver, PNG, JPEG, GIF, WebP og andre bilder, MP3, WAV, OGG, FLAC og M4A-lyd, MP4- og WebM-video, WOFF-, WOFF2-, TTF- og OTF-skrifter, WebAssembly med mer. JSON, XML, HTML og ren tekst gjenkjennes også. Formater uten signatur kan ikke identifiseres, så vet du den faktiske typen, gir du den nedlastede filen nytt navn.
Hvorfor ble Word- eller Excel-filen min gjenkjent som ZIP?
DOCX-, XLSX- og PPTX-filer er, i likhet med EPUB og JAR, ZIP-arkiver med en bestemt mappestruktur inni, og de begynner med de samme magiske bytene som alle andre ZIP-filer. De dekodede bytene er riktige: gi den nedlastede filen filtypen .docx, .xlsx eller det du trenger, så åpnes den som normalt.
Kan jeg lime inn en data URI?
data:...;base64,, eller bare Base64-delen. Uansett kontrolleres typen mot de dekodede bytene.Hvorfor er den dekodede filen mindre enn Base64-teksten?
Base64 bruker 4 tegn for hver gruppe på 3 byte, så filen er omtrent tre fjerdedeler så stor som teksten. Er den mye mindre enn filen du ventet, ble inndataene sannsynligvis kuttet.
Blir dataene mine sendt noe sted?
Nei. Dekoding, typegjenkjenning og forhåndsvisning skjer i nettleseren din, og nedlastingen lages på enheten din. Ingenting lastes opp.