fixmint
SV

Base64 förklarat: varför det gör data större och hur du avkodar det

Av · · uppdaterad 8 november 2026 · 5 min läsning

Base64 skriver binär data som vanlig text med 64 tecken: A till Z, a till z, 0 till 9, samt + och /. Var tre byte blir fyra tecken, så texten är ungefär en tredjedel längre än datan den innehåller. Man använder det när ett format bara tar emot text, till exempel en data-URL i en webbsida, ett JSON-fält eller en e-postbilaga.

Base64-kodning och avkodningLäsa eller skapa en Base64-strängGör det gratis

Varför textformat behöver det

Många format är byggda för enbart text. Brödtexten i ett e-postmeddelande, en JSON-fil och en CSS-fil kan innehålla bokstäver och symboler utan problem, men en rå bild eller en zip-fil innehåller bytevärden som vissa system skulle ändra, kapa av eller tolka som styrkoder. Base64 använder bara tecken som varje textsystem släpper igenom oförändrade, så datan kommer fram intakt. Det definieras i RFC 4648.

Base64 är en kodning, inte en hemlighet. Vem som helst kan avkoda det utan nyckel, så det får aldrig användas för att gömma ett lösenord eller personuppgifter.

Så blir tre byte fyra tecken

Ta ordet Man, som är tre byte: 77, 97 och 110 i decimal. Tillsammans utgör de tre byten 24 bitar. Dela de 24 bitarna i fyra grupper om sex bitar, och varje grupp är ett tal från 0 till 63, som pekar på ett tecken i alfabetet. Man blir TWFu.

Sex bitar kan bara ange 64 värden, så fyra tecken bär tre byte. Utdata är därför ungefär en tredjedel större än indata, innan några radbrytningar har lagts till.

När datan inte går jämnt upp i tre byte fyller kodaren ut slutet med =-tecken. Ma, som är två byte, blir TWE=, och M, som är en byte, blir TQ==. Utfyllnaden talar om för avkodaren hur många byte den sista gruppen innehåller.

Text måste kodas som UTF-8 först

Base64 arbetar på byte, och text består av tecken. Ett tecken som é eller ✓ lagras som fler än en byte i UTF-8, den kodning som används på webben. Webbläsarfunktionen btoa() tar en sträng och behandlar varje tecken som en byte, så den misslyckas på tecken utanför det grundläggande latinska området. Om man anropar den med en bockmarkering kastas ett InvalidCharacterError.

Lösningen är att först göra om texten till UTF-8-byte och sedan koda dessa byte. Frasen héllo ✓ är 10 byte i UTF-8, och dess Base64 är aMOpbGxvIOKckw==. Base64-verktyget gör det här steget åt dig. Vid avkodning läser det tillbaka byten som UTF-8. Om byten inte är giltig UTF-8-text behandlar verktyget dem som en fil och erbjuder en nedladdning.

Base64 för URL:er

Den vanliga teckenuppsättningen innehåller + och /. I en URL kan + betyda ett mellanslag, och / skiljer delarna i en sökväg åt, så en Base64-sträng kan bryta en länk. Den URL-säkra varianten (RFC 4648, avsnitt 5) använder - och _ i stället och brukar utelämna =-utfyllnaden. Använd den när strängen ska in i en URL, ett filnamn eller en token. Avkodaren accepterar båda varianterna, med eller utan utfyllnad.

Om Base64-texten kommer från en länk, avkoda URL:en först. Ett värde som var procentkodat i en länk måste avkodas innan dess Base64 kan läsas. Guiden om procentkodning förklarar reglerna för länkar.

En inloggningstoken är det vanligaste exemplet: en JSON Web Token består av tre Base64url-delar sammanfogade med punkter, en header, datan och en signatur. JWT-avkodaren delar upp en sådan och visar header och data som läsbar JSON.

Data-URL:er och bilder

En data-URL lägger filen inne i själva länken. Formen är data:, sedan medietypen, sedan ;base64, och därefter ett komma och datan. En liten bild blir data:image/png;base64, följt av de kodade byten. Webbsidor och stilmallar accepterar den här formen, vilket sparar en förfrågan för en liten ikon.

Priset är storleken. Datan är ungefär en tredjedel större, och den reser inuti sidan eller stilmallen i stället för som en separat fil som webbläsaren kan cachelagra. Använd data-URL:er för små bilder, inte för stora foton. Komprimera fotot innan du kodar det om det är stort.

När du avkodar Base64 i verktyget tittar det på de första byten i datan. PNG-, JPEG-, GIF- och WebP-filer börjar var och en med en känd signatur, så verktyget visar en förhandsvisning och erbjuder en nedladdning. En data-URL med en bildtyp visas också som en bild.

Så gör du med fixmint

  1. Välj Koda eller Avkoda ovanför Text eller Base64, och klistra sedan in din text eller Base64.
  2. Bocka för URL-säker teckenuppsättning, ingen =-utfyllnad för tokens, filnamn och länkar. Avkodaren accepterar båda varianterna oavsett.
  3. För att göra en data-URL av en fil, släpp filen i släppytan och bocka för För filer: skapa en data:-URL.
  4. Kopiera resultatet. Om de avkodade byten är en fil i stället för text, använd nedladdningen som verktyget erbjuder.

Vanliga avkodningsfel

  • Ett tecken är inte tillåtet. Indata innehåller ett tecken utanför de 64, till exempel ett citattecken från en kopierad mening. Kontrollera var texten kommer ifrån. Ett nollbreddsmellanslag i kopierad text ger samma fel, så ta bort osynliga tecken och försök igen. Guiden om osynliga tecken förklarar var de kommer ifrån.
  • Längden är fel. Ett tecken saknas eller finns i överskott, vilket oftast betyder att kopieringen klippte av texten.
  • Radbrytningar och mellanslag. E-post (MIME) bryter Base64 var 76:e tecken. Avkodaren tar bort mellanslag och radbrytningar, så du kan klistra in bruten text som den är.
  • Saknad utfyllnad. Vissa system tar bort =-tecknen. Avkodaren lägger tillbaka dem.

Specialfall

  • Det avkodade resultatet ser ut som nonsens. Det kan vara en fil och inte text. En zip-fil, en PDF eller ett program avkodas till byte som inte går att läsa som text. Verktyget erbjuder sådana som nedladdning.
  • Mycket stora indata. Hela filen hålls i webbläsaren medan den kodas eller avkodas, så en mycket stor fil kan vara långsam, och på en telefon kan den misslyckas.

Snabba svar

Är Base64 samma sak som kryptering?

Nej. Det är en reversibel kodning utan nyckel, så vem som helst kan avkoda det.

Varför är min Base64 längre än filen?

Var tredje byte blir fyra tecken, så texten är ungefär en tredjedel större.

Varför går en kopierad Base64-sträng inte att avkoda?

Oftast har ett tecken tappats bort eller lagts till under kopieringen, till exempel en radbrytning på fel ställe eller ett saknat sista tecken. Kopiera den igen från källan.

Översatt från Engelsk original med hjälp av AI.

Kommentarer

    Inga kommentarer än. Var först.

    Ditt betyg (valfritt)

    Din e-post visas eller sparas aldrig.

    Omslag till How to Remain Valuable When Intelligence Becomes CheapHow to Remain Valuable When Intelligence Becomes Cheap

    224 sidor om de mänskliga, ekonomiska och strategiska fördelar som fortsatt är knappa när AI kan göra det mesta av kognitivt arbete.

    $3.84Köp på GumroadPå engelska