...
Selv om MIME i hovedsak er utviklet for SMTP, er standardene definert i MIME også viktig for kommunikasjonsprotokoller utenom epost, som HTTP. Servere setter inn MIME-headere i begynnelsen av enhver web-overføring. Klienter bruker denne mediatype-headeren (MIME type) for å velge riktig visningsprogram for den typen data som er indikert i headeren. Noen av disse visningsprogrammene er innebygd i nettleseren eller webklienten.
3. Virkemåte
Base64 fungerer i praksis på 2 måter: Koding og dekoding.
...
Nå har vi 8 ulike 6-bits mønster, og vi kan da bruke oversettelsestabellen fra forrige seksjon for å få den endelige Base64-strengen:
Bits | 010001 | 000110 | 000101 | 110100 | 011000 | 010000 | 000000 | 000000 |
Tallverdi | 17 | 6 | 5 | 52 | 24 | 16 | 0 | 0 |
Tegn | R | G | F | 0 | Y | Q | = | = |
...
Når man skal dekode fra Base64, følger man egentlig bare prosessen for å kode, bare baklengs. For enkelhets skyld, kan vi dekode RGF0YQ==, som ble brukt over. Det første man gjør, er å se på hvert enkelt tegn i strengen, for å så finne den korresponderende tallverdien i oppslagstabellen:
Tegn | R | G | F | 0 | Y | Q | = | = |
Tallverdi | 17 | 6 | 5 | 52 | 24 | 16 | 0 | 0 |
Bits | 010001 | 000110 | 000101 | 110100 | 011000 | 010000 | 000000 | 000000 |
...
De 2 padding-tegnene (==) i slutten, sier at de 4 siste tegn kun vil bli gjort om til ett tegn, og vi kan derfor ignorere de 2 siste gruppene. Hadde det vært ett padding-tegn, ville dette betydd at de 4 siste tegnene ville blitt gjort om til 2 tegn. Resten av gruppene kan vi bruke til å oversette til de dekodede tegnene, igjen via en ASCII-/UTF-8-tabell:
Bitmønster | 01000100 | 01100001 | 01110100 | 01100001 |
Tegn | D | a | t | a |
...