Välj språk

Base64-kodare

Koda enkelt text till Base64 direkt i webbläsaren. Stöder URL-säker kodning och anpassningsbar padding. All data stannar på din enhet.

Mehmet Demiray Publicerad Uppdaterad
Använd - och _ och ta bort = utfyllnad för URL:er
Infoga en radbrytning var 76:e tecken

Vad är Base64-kodning?

Base64 är en metod för att omvandla binär data, som filer eller bilder, till en textsträng. Syftet är att säkerställa att datan kan överföras utan problem genom system som är utformade för att endast hantera text. Namnet kommer från att metoden använder en uppsättning av 64 tecken för att representera datan. Denna uppsättning består av stora och små bokstäver (A-Z, a-z), siffror (0-9) samt två specialtecken, vanligtvis + och /.

Föreställ dig att du vill skicka en liten bild i ett e-postmeddelande. E-postprotokoll var ursprungligen designade för att hantera ren text, inte binära filer. Genom att Base64-koda bilden omvandlas den till en ofarlig textsträng som kan inkluderas direkt i meddelandet. Mottagarens e-postklient kan sedan avkoda strängen för att återskapa den ursprungliga bilden. Vårt verktyg, Base64-koda, gör just detta direkt i din webbläsare, utan att någon data skickas till en server. Det är viktigt att komma ihåg att Base64 inte är en form av kryptering. Det är en kodningsstandard, vilket innebär att vem som helst med tillgång till strängen enkelt kan avkoda den till sitt ursprungliga format. Syftet är dataintegritet och kompatibilitet, inte sekretess.

Hur fungerar Base64-kodning?

Kärnan i Base64-kodning är omvandlingen av binär data i block om 3 bytes (24 bitar) till 4 tecken (också 24 bitar). Processen fungerar så här:

  1. Indatan läses tre bytes i taget. Tre bytes motsvarar 3×8=243 \times 8 = 24 bitar.
  2. Dessa 24 bitar delas upp i fyra grupper om 6 bitar vardera (4×6=244 \times 6 = 24 bitar).
  3. Varje 6-bitarsgrupp representerar ett tal mellan 0 och 63. Detta tal används sedan för att slå upp ett tecken i Base64-alfabetet (t.ex. 0 blir A, 1 blir B, och så vidare).

Resultatet är att 3 bytes indata blir 4 tecken utdata. Detta leder till att den kodade datan blir ungefär 33 % större än originalet. Formeln för storleksökningen är 4/34/3.

Men vad händer om indatan inte är jämnt delbar med 3? Då används utfyllnad, så kallad "padding". Om den sista gruppen bara innehåller en eller två bytes fylls den på med noll-bitar för att bilda en komplett 6-bitarsgrupp. För att markera att utfyllnad har använts läggs ett eller två likhetstecken (=) till i slutet av den kodade strängen. Ett = betyder att den sista gruppen innehöll två bytes, medan == betyder att den bara innehöll en byte. Detta säkerställer att avkodningsprocessen vet exakt hur den ska tolka den sista delen av datan.

Standard kontra URL-säker Base64-kodning

Det traditionella Base64-alfabetet, som definieras i RFC 4648, använder tecknen + och / som de två sista tecknen i sin 64-teckens uppsättning. Även om detta fungerar utmärkt för e-post och inbäddad data, skapar det problem när Base64-strängar används i webbadresser (URL:er) eller filnamn.

Problemet är att dessa tecken har speciella betydelser i URL-sammanhang:

+ tolkas ofta som ett mellanslag i frågesträngar (query strings). / används för att separera delar i en sökväg.

Om en Base64-sträng som innehåller dessa tecken placeras i en URL kan den feltolkas av servrar eller webbläsare, vilket leder till trasiga länkar eller felaktig data. För att lösa detta skapades en "URL-säker" variant av Base64. Den är identisk med standardvarianten, förutom att den ersätter + med - (minus) och / med _ (understreck). Dessa tecken har ingen speciell betydelse i URL-sökvägar eller frågesträngar och kan därför användas utan problem.

Vårt verktyg Base64-koda erbjuder ett alternativ för att använda denna URL-säkra variant. Du bör aktivera detta alternativ när du vet att den kodade strängen kommer att användas i en webbadress, till exempel för att skicka data i en GET-förfrågan eller i webbtokens som JWT (JSON Web Tokens). Detta skiljer sig från URL-kodning, som är en annan teknik för att hantera specialtecken i webbadresser.

Vanliga användningsområden för Base64

Base64-kodning används i en mängd olika tekniska sammanhang där binär data behöver representeras som text. Här är några av de vanligaste tillämpningarna:

* Data-URI:er: Detta är ett schema som låter dig bädda in filer, oftast bilder, direkt i HTML- eller CSS-kod. Istället för att länka till en extern bildfil kan du inkludera bilden som en Base64-sträng. Exempelvis: src="data:image/png;base64,iVBORw...". Detta kan minska antalet HTTP-förfrågningar en webbsida behöver göra, vilket kan snabba på laddningstiden för små bilder.

* E-postbilagor: Detta är det ursprungliga och klassiska användningsområdet. MIME-standarden (Multipurpose Internet Mail Extensions) använder Base64 för att koda bifogade filer så att de kan skickas tillsammans med texten i ett e-postmeddelande.

* HTTP Basic Authentication: En enkel autentiseringsmetod där användarnamn och lösenord kombineras till en sträng (användarnamn:lösenord), Base64-kodas och skickas i HTTP-huvudet Authorization.

* Inbäddning av binär data i textformat: I format som JSON eller XML, som är rent textbaserade, kan man inte direkt inkludera binär data som en PDF-fil eller ett certifikat. Genom att först koda filen till Base64 kan den representeras som en textsträng och enkelt inkluderas i en JSON-nyttolast. Mottagaren kan sedan avkoda strängen för att återskapa den ursprungliga filen.

Vanliga frågor om Base64-kodning

Är Base64-kodning samma sak som kryptering? Nej, absolut inte. Base64 är en kodningsstandard, inte en krypteringsalgoritm. Syftet är att representera data i ett annat format (text), inte att dölja dess innehåll. All data som är Base64-kodad kan enkelt avkodas av vem som helst utan behov av en hemlig nyckel. Använd aldrig Base64 för att skydda känslig information; för det ändamålet krävs riktig kryptering som AES eller RSA.

Varför slutar min Base64-sträng med ett eller två likhetstecken (=)? Likhetstecknen är utfyllnadstecken (padding). Base64-processen hanterar data i block om 3 bytes. Om den totala datamängden inte är jämnt delbar med 3, behövs utfyllnad för att den sista gruppen ska bli komplett. Ett = i slutet indikerar att den sista gruppen av indata innehöll 2 bytes, och == indikerar att den innehöll 1 byte. Dessa tecken är nödvändiga för att avkodaren ska kunna återskapa den ursprungliga datan korrekt.

Hur hanterar Base64-koda svenska tecken som å, ä och ö? För att hantera tecken utanför den grundläggande ASCII-uppsättningen, som å, ä och ö, måste texten först omvandlas till en standardiserad binär representation. Vårt verktyg använder UTF-8, den vanligaste teckenkodningen på webben. När du skriver in texten "snö", omvandlar verktyget den först till en sekvens av bytes enligt UTF-8-standarden. Därefter appliceras Base64-kodningen på dessa bytes. Detta säkerställer att alla Unicode-tecken hanteras korrekt och kan avkodas tillbaka till sitt ursprungliga format oavsett system.

De frågor vi får oftast.

Är Base64-kodning samma sak som kryptering?

Nej, det är en vanlig missuppfattning. Base64 är en kodningsmetod, inte en krypteringsmetod. Syftet är att omvandla binär data till ett textformat som säkert kan överföras i system som bara hanterar text. Eftersom vem som helst enkelt kan avkoda en Base64-sträng igen, erbjuder den inget skydd för hemlig information. För säkerhet ska du alltid använda riktig kryptering.

När ska jag använda det URL-säkra alternativet?

Du bör använda den URL-säkra varianten när den kodade strängen ska användas i en webbadress (URL) eller ett filnamn. Standardalfabetet för Base64 innehåller tecknen + och /, vilka har speciella betydelser i URL:er och kan orsaka problem. Den URL-säkra versionen ersätter dessa med - och _, vilket gör strängen helt säker att använda i dessa sammanhang.

Hur hanterar verktyget "Base64-koda" svenska tecken som å, ä och ö?

Vårt verktyg hanterar alla tecken, inklusive svenska, helt automatiskt. Innan texten kodas till Base64 omvandlas den först till teckenkodningen UTF-8. UTF-8 har stöd för i princip alla världens tecken, så du kan klistra in din text direkt utan att oroa dig för att å, ä eller ö ska förvanskas.

Varför slutar min Base64-sträng med ett eller två likhetstecken (=)?

Likhetstecknen (=) är utfyllnad (padding) och används för att säkerställa att utdatan har en längd som är jämnt delbar med fyra. Base64 bearbetar data i block om tre bytes, vilka omvandlas till fyra tecken. Om indatan inte är en exakt multipel av tre bytes, läggs ett eller två = till i slutet för att fylla ut det sista blocket. Detta är nödvändigt för att avkodningen ska fungera korrekt.

Varför blir min data större efter att ha kodats med Base64?

Datastorleken ökar eftersom Base64 representerar binär data med enbart 64 tecken från ASCII-tabellen. Varje Base64-tecken kan bara representera 6 bitar data, medan en vanlig byte innehåller 8 bitar. För att representera 3 bytes (24 bitar) behövs därför 4 Base64-tecken (4 x 6 = 24 bitar). Denna omvandling leder till att datastorleken ökar med ungefär 33 %.

Vad är skillnaden mellan Base64-kodning och URL-kodning?

De löser två olika problem. Base64-kodning används för att omvandla binär data (som en bild eller en fil) till ett textformat. URL-kodning, å andra sidan, används för att se till att all text i en webbadress är giltig genom att ersätta reserverade tecken (som mellanslag eller &) med %-sekvenser. Man använder Base64 för innehållet och URL-kodning för själva adressen.

Skickas informationen jag matar in till era servrar?

Nej, absolut inte. All bearbetning med verktyget "Base64-koda" sker uteslutande lokalt i din webbläsare. Ingen data lämnar någonsin din dator, vilket gör det helt säkert att använda även för information som du inte vill dela. Din integritet är garanterad.