data:image/png;base64, er et prefiks, ikke et fullstendig bilde. Den introduserer en innebygd ressurs: skjemaet er data, den deklarerte medietypen er image/png, og markøren sier at følgende nyttelast bruker Base64. Kommaet er grensen mellom metadata og data.
Les strukturen
data:[media-type][;base64],payload
data:text/plain;base64,SGVsbG8=
data:text/plain,Hello%20world
Det første eksemplet representerer teksten Hallo gjennom Base64. Den andre bruker prosentkoding i stedet. En Data URI-parser må inspisere metadataene før du velger en dekoder. Sending av hele URI til en rå Base64 dekoder mislykkes fordi kolon, semikolon og komma ikke er nyttelasttegn.
Del ved første komma, ikke hvert komma. De gjenværende dataene kan i seg selv inneholde kommaer, spesielt i en ikke-Base64 tekst URI. Valgfrie medietypeparametere kan vises foran Base64-markøren. Når medietypen er utelatt, har dataformatet URL en standard teksttype og tegnsett; denne standarden transformerer ikke vilkårlige binære byte til lesbar tekst.
En MIME-etikett er et krav
Hvem som helst kan plassere image/png i prefikset. Etiketten beviser ikke at bytene danner en PNG. Sammenlign signaturen, og be deretter en faktisk bildedekoder laste inn resultatet. På samme måte er en PDF-header bare en gjenkjennelses ledetråd; en komplett PDF parser kan fortsatt avvise dokumentet.
Endre image/png til image/jpeg konverterer ikke bildet. Konvertering betyr å dekode kildebildet og kode en ny fil i målformatet. Dette kan endre åpenhet, metadata, kvalitet og størrelse. Behold originalen når disse forskjellene betyr noe.
Gjenopprett ressursen uten å kjøre den
Analyser og inspiser først. Tekst kan vises som tekst, mens støttede rasterbilder kan forhåndsvises i et bildeelement. Unngå å sette inn vilkårlig HTML eller SVG markering i dokumentet. En data URL kan representere aktivt innhold så vel som et bilde, så dens selvstendige natur er ikke en sikkerhetsgaranti.
For en filnedlasting, bevar de dekodede bytene og bruk en fornuftig utvidelse basert på bekreftet formatinformasjon. For en diagnoserapport, vis deklarert type og oppdaget type separat. Dette gjør uoverensstemmelser synlige i stedet for å skjule dem bak et betryggende filikon. Data URL syntaks og standardinnstillingene er beskrevet i MDN: datanettadresser.