fixmint
DA

Base64 forklaret: hvorfor det gør data større, og hvordan du afkoder det

Af · · opdateret 8. november 2026 · 5 min. læsning

Base64 skriver binære data som almindelig tekst med 64 tegn: A til Z, a til z, 0 til 9 samt + og /. Hver tre bytes bliver til fire tegn, så teksten er omkring en tredjedel længere end de data, den indeholder. Man bruger det, når et format kun accepterer tekst, fx en data-URL på en webside, et JSON-felt eller en e-mailbilag.

Base64 kodning og dekodningLæs eller lav en Base64-strengPrøv gratis

Hvorfor tekstformater har brug for det

Mange formater er bygget til kun at rumme tekst. En e-mails brødtekst, en JSON-fil og en CSS-fil kan rumme bogstaver og symboler sikkert, men et råt billede eller en zip-fil indeholder byteværdier, som nogle systemer ville ændre, afkorte eller læse som styretegn. Base64 bruger kun tegn, som alle tekstsystemer videregiver uændret, så data kommer frem intakt. Det er defineret i RFC 4648.

Base64 er en kodning, ikke en hemmelighed. Hvem som helst kan afkode det uden nøgle, så det må aldrig bruges til at skjule en adgangskode eller personlige oplysninger.

Hvordan tre bytes bliver til fire tegn

Tag ordet Man, som er tre bytes: 77, 97 og 110 i decimal. Sammen udgør de tre bytes 24 bit. Del de 24 bit op i fire grupper på seks bit, og hver gruppe er et tal fra 0 til 63, som peger på ét tegn i alfabetet. Man bliver til TWFu.

Seks bit kan kun angive 64 værdier, så fire tegn bærer tre bytes. Outputtet er derfor omkring en tredjedel større end inputtet, før der er tilføjet linjeskift.

Når data ikke går op i tre bytes, udfylder encoderen slutningen med =-tegn. Ma, som er to bytes, bliver til TWE=, og M, som er én byte, bliver til TQ==. Udfyldningen fortæller afkoderen, hvor mange bytes den sidste gruppe indeholder.

Tekst skal kodes som UTF-8 først

Base64 arbejder på bytes, og tekst består af tegn. Et tegn som é eller ✓ gemmes som mere end én byte i UTF-8, kodningen der bruges på nettet. Browserfunktionen btoa() tager en streng og behandler hvert tegn som én byte, så den fejler på tegn ud over det basale latinske område. Kaldes den med et flueben, kaster den en InvalidCharacterError.

Løsningen er først at omdanne teksten til UTF-8-bytes og derefter kode dem. Sætningen héllo ✓ er 10 bytes i UTF-8, og dens Base64 er aMOpbGxvIOKckw==. Base64-værktøjet gør dette trin for dig. Ved afkodning læser det bytes tilbage som UTF-8. Hvis bytes ikke er gyldig UTF-8-tekst, behandler værktøjet dem som en fil og tilbyder en download.

URL-sikker Base64

Standardalfabetet indeholder + og /. I en URL kan + betyde et mellemrum, og / adskiller dele af en sti, så en Base64-streng kan ødelægge et link. Den URL-sikre form (RFC 4648, afsnit 5) bruger - og _ i stedet og udelader typisk =-udfyldningen. Brug den, når strengen skal i en URL, et filnavn eller et token. Afkoderen accepterer begge former, med eller uden udfyldning.

Hvis Base64-strengen stammer fra et link, afkod URL'en først. En værdi, der var procentkodet i et link, skal afkodes, før dens Base64 kan læses. Guiden om procentkodning forklarer reglerne for links.

Et login-token er det typiske eksempel: en JSON Web Token består af tre Base64url-dele adskilt af punktummer, nemlig en header, data og en signatur. JWT-dekoderen deler et sådant token op og viser header og data som læsbar JSON.

Data-URL'er og billeder

En data-URL lægger filen ind i selve linket. Formen er data:, derefter medietypen, derefter ;base64, derefter et komma og dataene. Et lille billede bliver til data:image/png;base64, efterfulgt af de kodede bytes. Websider og stylesheets accepterer denne form, og det sparer en forespørgsel for et lille ikon.

Prisen er størrelsen. Dataene er omkring en tredjedel større, og de følger med i siden eller stylesheet'et i stedet for at være en separat fil, som browseren kan cache. Brug data-URL'er til små billeder, ikke til store fotos. Komprimer fotoet, før du koder det, hvis det er stort.

Når du afkoder Base64 i værktøjet, kigger det på de første bytes i dataene. PNG-, JPEG-, GIF- og WebP-filer begynder hver med en kendt signatur, så værktøjet viser en forhåndsvisning og tilbyder en download. En data-URL med en billedtype vises også som et billede.

Sådan gør du med fixmint

  1. Vælg Kod eller Afkod over Tekst eller Base64, og indsæt derefter din tekst eller Base64.
  2. Sæt flueben ved URL-sikkert alfabet, ingen =-udfyldning til tokens, filnavne og links. Afkoderen accepterer begge former under alle omstændigheder.
  3. For at lave en data-URL ud af en fil trækker du filen ind i trækzonen og sætter flueben ved Til filer: returnér en data:-URL.
  4. Kopiér resultatet. Hvis de afkodede bytes er en fil og ikke tekst, så brug den download, værktøjet tilbyder.

Almindelige afkodningsfejl

  • Et tegn er ikke tilladt. Inputtet indeholder et tegn uden for de 64, fx et anførselstegn fra en kopieret sætning. Tjek, hvor teksten kommer fra. Et tegn med nul bredde i kopieret tekst giver den samme fejl, så fjern skjulte tegn og prøv igen. Guiden om skjulte tegn forklarer, hvor de kommer fra.
  • Længden er forkert. Et tegn mangler eller er for meget, hvilket typisk betyder, at kopieringen blev afbrudt.
  • Linjeskift og mellemrum. E-mail (MIME) bryder Base64-teksten efter hvert 76. tegn. Afkoderen fjerner mellemrum og linjeskift, så du kan indsætte indpakket tekst, som den er.
  • Manglende udfyldning. Nogle systemer fjerner =-tegnene. Afkoderen sætter dem tilbage.

Særtilfælde

  • Det afkodede resultat ser ud som vrøvl. Det kan være en fil og ikke tekst. En zip-fil, en PDF eller et program afkodes til bytes, der ikke kan læses som tekst. Værktøjet tilbyder dem som download.
  • Meget store input. Hele filen holdes i browseren, mens den kodes eller afkodes, så en meget stor fil kan være langsom, og på en telefon kan den fejle.

Hurtige svar

Er Base64 det samme som kryptering?

Nej. Det er en reversibel kodning uden nøgle, så hvem som helst kan afkode det.

Hvorfor er min Base64 længere end filen?

Hvert sæt af tre bytes bliver til fire tegn, så teksten er omkring en tredjedel større.

Hvorfor kan en kopieret Base64-streng ikke afkodes?

Typisk er et tegn gået tabt eller blev tilføjet under kopieringen, fx et linjeskift på et forkert sted eller et manglende sidste tegn. Kopiér den igen fra kilden.

Oversat fra Engelsk original med AI-hjælp.

Kommentarer

    Ingen kommentarer endnu. Vær den første.

    Din bedømmelse (valgfri)

    Din e-mail vises eller gemmes aldrig.

    Forside til How to Remain Valuable When Intelligence Becomes CheapHow to Remain Valuable When Intelligence Becomes Cheap

    224 sider om de menneskelige, økonomiske og strategiske fordele, der forbliver knappe, når AI kan klare de fleste kognitive opgaver.

    $3.84Køb på GumroadPå engelsk