Konverter fil til Base64

Slipp en hvilken som helst fil, enten det er et dokument, et arkiv, en skrift, et sertifikat eller et program, og få Base64-kodingen som ren tekst eller data URI. Alt kjører lokalt i nettleseren din.

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

Slik bruker du verktøyet

  1. Slipp en fil i opplastingsfeltet, eller klikk på det for å velge en fil fra enheten din (opptil 100 MB).
  2. Velg utdata: ren Base64 for API-er og konfigurasjonsfiler, eller en data URI for HTML og CSS.
  3. Slå bare på Bryt linjer ved 76 tegn hvis mottakeren forventer linjer i MIME-stil, for eksempel i en e-posttekst.
  4. Sjekk filnavnet, MIME-typen og størrelsene, og kopier deretter resultatet eller last det ned som en .txt-fil.

Hvorfor kode en fil som Base64?

Mange formater som frakter data mellom systemer, tåler bare tekst. JSON, XML, YAML, HTML og e-posthoder kan ikke inneholde vilkårlige byte, fordi en fil kan ha nullbyte, ugyldige tegnsekvenser eller linjeskift som en tekstparser ville endret. Base64 gjør hver gruppe på 3 byte i filen om til 4 tegn fra et sett på 64 bokstaver, sifre, + og /, slik at enhver fil kan sendes som en vanlig streng og dekodes tilbake til nøyaktig de samme bytene.

Prisen er størrelsen: den kodede teksten er omtrent 33 % større enn filen, og linjeskift legger til litt til. En fil på 3 MB blir omtrent 4 MB med Base64.

Vanlige bruksområder

  • JSON- og XML-API-er. Endepunkter som ikke tar imot multipart-skjemaopplastinger, forventer ofte filen som en Base64-streng i ett felt, med navn og type i andre felt.
  • E-postvedlegg. MIME koder vedlegg i Base64 med linjer på høyst 76 tegn (RFC 2045). Linjebryting gir nøyaktig det samme oppsettet.
  • Konfigurasjon og hemmeligheter. Verdiene under data i en Kubernetes Secret er Base64, så et TLS-sertifikat, et nøkkellager eller en lisensfil må kodes før filen legges inn i manifestet. CI-systemer lagrer også ofte binære hemmeligheter i miljøvariabler på samme måte.
  • Databaser og kildekode. En liten binærfil, som en skrift, en lyd eller testdata, kan lagres i en tekstkolonne eller en strengkonstant i stedet for i en egen fil.

For bilder har Bilde til Base64 i tillegg endring av størrelse og ferdige HTML- og CSS-kodesnutter. Vil du gjøre Base64 om til en fil igjen, bruker du Base64 til fil.

Ren Base64 eller data URI?

Ren Base64 er bare de kodede bytene. Det er dette API-er, Kubernetes, databaser og de fleste programmeringsbiblioteker forventer, vanligvis sammen med et eget felt for filnavn eller innholdstype.

En data URI legger til et prefiks med MIME-typen, for eksempel data:application/pdf;base64,, slik at nettleseren kan bruke hele strengen som en URL i src, href eller CSS-funksjonen url(). Ikke send dette prefikset til et API som ber om ren Base64, for mange dekodere avviser det. Vil du angi MIME-typen selv eller bruke prosentkoding, kan du prøve Data URI-generatoren.

La linjebryting være slått av for JSON, YAML og kildekode. En JSON-streng kan ikke inneholde rå linjeskift, og brutte verdier i YAML går lett i stykker.

Kod en fil på kommandolinjen

# Linux (GNU coreutils): -w 0 slår av standard linjebryting ved 76 tegn
base64 -w 0 report.docx > report.txt

# macOS
base64 -i report.docx -o report.txt

# Windows PowerShell
[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\files\report.docx"))

# Kubernetes koder filen for deg
kubectl create secret generic app-cert --from-file=tls.crt

Ofte stilte spørsmål

Finnes det en grense for filstørrelsen?

Du kan kode filer på opptil 100 MB. Utdataene blir omtrent en tredjedel større, så en fil på 100 MB gir rundt 133 MB tekst. Så mye tekst kan gjøre siden treg å vise, så for store filer bør du bruke Last ned i stedet for å kopiere fra utdatafeltet.

Blir filene mine lastet opp til en server?

Nei. Filen leses og kodes av JavaScript i nettleseren din, og ingenting sendes over nettverket. Sertifikater, nøkler og private dokumenter blir derfor værende på enheten din.

Komprimerer eller krypterer Base64 filen?

Ingen av delene. Base64 gjør dataene omtrent 33 % større, og hvem som helst kan dekode dem. Må filen holdes konfidensiell, krypterer du den før kodingen. Er størrelsen viktig, komprimerer du den først, for eksempel som et ZIP- eller gzip-arkiv.

Hvorfor inneholder utdataene linjeskift?

Valget Bryt linjer ved 76 tegn er slått på. Det følger MIME-formatet som brukes i e-post, men de fleste API-er, JSON-dokumenter og Kubernetes-manifester forventer én sammenhengende linje, så slå det av for slike formål.

Hva er forskjellen på denne siden og Base64-koderen?
Base64-koderen er laget for tekst, med valg av tegnkoding og Base64-varianter. Denne siden er laget for filer: den leser de rå bytene i en hvilken som helst fil, viser MIME-typen og kan gi en data URI direkte.