Base64 er en måte å representere binære data med vanlige teksttegn. Et bilde, et dokument eller et stykke tekst kan alle representeres som bytes. Når et system trenger disse bytene inne i et tekstfelt, gir Base64 en reversibel stavemåte som mottakeren kan dekode senere.
Et lite eksempel
Teksten Hello inneholder fem ASCII byte. Koding av disse bytene produserer SGVsbG8=. Dekoding av denne verdien returnerer de samme fem bytene, som deretter kan leses som originalteksten. Likhetstegnet tilhører kodingens siste gruppe; det er ikke en del av ordet Hei.
Text: Hello
Bytes in Hex: 48 65 6c 6c 6f
Base64: SGVsbG8=
Decoded bytes: 48 65 6c 6c 6f
Prøv eksemplet i koderen, kopier resultatet inn i dekoderen, og sammenlign den returnerte teksten. Prøv deretter et kinesisk tegn eller emoji. Tekst må først bli byte ved å bruke en tegnkoding som UTF-8; Base64 selv definerer ikke et språk eller tegnsett.
Hvor du møter det
Vanlige eksempler inkluderer et binært felt i JSON, et innebygd bilde i en Data URI og de lesbare delene av visse tokens. Det omkringliggende formatet gir konteksten. En Base64-streng i seg selv forteller deg ikke det opprinnelige filnavnet, MIME-typen, tegnkodingen eller om innholdet er pålitelig.
En Data URI legger til et prefiks som f.eks data:image/png;base64,. Det prefikset beskriver nyttelasten, men er ikke en del av Base64-alfabetet. Noen dekodere forstår innpakningen; andre forventer bare delen etter komma. Velg riktig verktøy eller modus i stedet for å slette ukjente tegn tilfeldig.
Tre vanlige misforståelser
For det første er Base64 ikke kryptering: ingen hemmelighet er nødvendig for å dekode den. For det andre, det gjør ikke filene mindre; vanlig polstret utdata er omtrent en tredjedel større enn de opprinnelige bytene. For det tredje er ikke alle dekodede resultater tekst. Et bilde kan riktig dekode til bytes som ser ut som tull i en tekstboks.
Når en dekoding mislykkes, sjekk den opprinnelige kilden, det valgte alfabetet og om strengen ble avkortet. Når det lykkes, velg en passende visning: tekst for gyldige tekstbytes, Hex for inspeksjon eller en filnedlasting for binære data. Det detaljerte Base64 alfabetet og eksemplene er definert i RFC 4648.