Kodēt attēlu uz Base64 / Data URI

pārvērš jūsu attēlus par base64 failiem, ideāli attēlu tiešai integrēšanai HTML vai CSS kodā
Faila formāts

Varat augšupielādēt neierobežotu skaitu attēlu ar maksimālo svaru 20M.

Drošība

Jūsu dati netiek glabāti mūsu serveros.

Atbalstītās pārlūkprogrammas

Tiek atbalstītas visas jaunākās pārlūkprogrammas. Tomēr, ja konstatējat kļūdu, informējiet mūs, lai veiktu labojumus.

Kas ir datu URI?

Datu URI ir vietrādis URL, kas tieši satur resursa datus norādiet uz attālo failu. Tās vispārējā forma ir dati:[][;base64],. Attiecībā uz attēlu, mums parasti ir data:image/png;base64,iVBORw0KGgo…. Resurss ir iegults HTML, CSS vai JSON un ielādēts bez papildu HTTP pieprasījuma.

Kāpēc attēlu kodēt programmā Base64?

Izplatītas motivācijas:

  • Samaziniet HTTP pieprasījumus: integrējiet ikonu tieši CSS, nevis ielādējiet to papildus dokumentam.
  • E-pasta paraksts ar iekļautu attēlu: nav riska, ka attēls tiks bloķēts kā attāls saturs
  • Tīmekļa komponenti/tīmekļa darbinieki: ja ārēja resursa ielāde bieži rada tvēruma vai CORS problēmu
  • Lokālā krātuve (LocalStorage, IndexedDB, datu bāze): iemiesojuma sīktēla serializēšana virknē
  • Patstāvīgi fragmenti: autonoms HTML fails bez ārējām atkarībām

Tipiski lietošanas gadījumi

Daži konkrēti konteksti, kuros Base64 attēla kodēšana ir pamatota:

  • SVG iekļautās ikonas CSS (fona attēls: url("data:image/svg+xml;base64,…"))
  • Personalizēti e-pasta paraksti ar logotipu
  • Ātra prototipa izveide atsevišķai lapai, kas tiek kopīgota pa e-pastu
  • Atsevišķi tīmekļa komponenti (viens izvietojams fails)
  • PDF ģenerēšana pārlūkprogrammas pusē (jsPDF) ar iegultiem sīktēliem
  • Pārbaudes dati (izspēles), kas satur attēlus

Kā to lietot

Trīs soļi:

  1. Augšupielādējiet attēlu (PNG, JPG, SVG, WebP, GIF), izmantojot nomešanas zonu
  2. Noklikšķiniet uz “Kodēt”
  3. Nokopējiet iegūto datu URI, izmantojot tam paredzēto pogu, un ielīmējiet to savā HTML, CSS vai JSON kodā.

Ierobežojumi un labākā prakse

Base64 nav sudraba lode. Daži piesardzības pasākumi:

  • Base64 palielina izmēru par ~33%: 4 ASCII rakstzīmes uz katriem 3 binārajiem baitiem
  • Pārlūkprogrammā atsevišķi netiek saglabāti kodēti attēli. tie tiek atkārtoti ielādēti ar HTML/CSS, kas tos satur
  • Ieteicams attēliem, kas mazāki par 10 KB; turklāt ārējais fails parasti ir efektīvāks
  • SVG formātā dodiet priekšroku URL kodēšanai (izmantojot encodeURIComponent), nevis Base64: rezultāts ir īsāks un paliek parsējams kā teksts.
  • Mūsdienu veidošanas rīki (Webpack, Vite) automatizē Base64 un Base64 izvēli. ārējo failu, izmantojot konfigurējamu sliekšņa lielumu

Konkrēti piemēri

HTML:

pixel
    

CSS:

.icon {
  fons: url("dati:attēls/svg+xml;base64,PHN2ZyB4bWxucz0i…") no-repeat;
  platums: 16 pikseļi;
  augstums: 16 pikseļi;
}

JSON (fiktīvie dati):

{
  "lietotājs": {
    "name": "Adrien",
    “iemiesojums”: “data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEA…”
  }
}

FAQ

Kāda ir atšķirība starp Base64 un bināro?

Binārais apzīmē neapstrādātus faila baitus. Base64 ir kodējums, kas pārveido šos baitus 64 drukājamās ASCII rakstzīmēs (A-Z, a-z, 0-9, +, /). Teksta konteksti (HTML, JSON, e-pasts) to nedara nevar nest bināro; Base64 atrisina šo problēmu, maksājot 33% lielu pieskaitāmo izdevumu.

Kāpēc mans datu URI ir tik garš?

30 KB attēls binārajā formātā kļūst par ~ 40 KB Base64. Un katra rakstzīme ir ASCII baits, tāpēc jā, ķēde ir gara. Tas ir raksturīgs kodējumam. Lieliem attēliem saglabājiet ārēju failu.

Vai visas pārlūkprogrammas atbalsta datu URI?

Jā, bez izņēmuma mūsdienu pārlūkprogrammās (Chrome, Firefox, Safari, Edge kopš IE8 pat). Ierobežojumi vēsturisks: IE8 ierobežots līdz 32 KB. Šodien tīmeklī vairs nav jāuztraucas.

Kā atšifrēt datu URI?

Mūsu Base64 attēlu dekodētājs darbojas pretēji: ielīmējiet savu datu URI, sagatavojiet attēla failu (PNG, JPG, SVG, WebP) augšupielādei vai saglabāšanai.

Base64 salīdzinājumā ar URL kodējumu SVG failiem?

SVG URL kodējums (ar encodeURIComponent) rada īsāku virkni nekā Base64 un paliek lasāms kā teksts. Šī ir ieteicamā izvēle CSS, integrējot SVG iekļauto. Binārajiem formātiem (PNG, JPG) Base64 joprojām ir obligāts.

Vai Base64 kodējums ietekmē attēla kvalitāti?

Nē. Kodējums ir bez zudumiem: tas ir binārs baits ↔ Base64 virknes bijection. Pikseļi oriģināli tiek stingri saglabāti. Tikai transportētā faila lielums palielinās par 33%.

Bieži uzdotie jautājumi

Kad ir labāk izvairīties no datu URI?

Tiklīdz attēls pārsniedz desmit kilobaitus un, visticamāk, tiks izmantots atkārtoti vairākās lapās ir ieteicams izmantot ārēju failu. Pēc tam pārlūkprogramma to var ievietot kešatmiņā atsevišķi no HTML, kas uz to atsaucas. Datu URI paplašina galveno dokumentu un pieprasa lai atkārtoti lejupielādētu attēlu katrā lapas ielādes reizē.

Vai mans attēls tiek nosūtīts uz serveri?

Kodēšanas laikā attēls iet caur mūsu serveri un netiek saglabāts pēc atgriešanas no rezultāta. Trešo pušu pakalpojumi netiek pieprasīti. Attiecībā uz stingri konfidenciālu failu, vietējais ekvivalents ir base64 -w 0 my-image.png operētājsistēmā Linux vai certutil -encode operētājsistēmā Windows.

Kāpēc SVG formātā izvēlēties URL kodējumu, nevis base64?

SVG ir XML teksts. Base64 kodēts, tas kļūst nelasāms un par aptuveni 33% lielāks. URL kodējumā, izmantojot encodeURIComponent, rezultāts paliek lasāms un īsāks. CSS failā ierakstiet url("data:image/svg+xml;utf8,") ar rakstzīmēm aizbēgtajiem īpašajiem piedāvājumiem gala fails ir mazāks par base64 versiju.

Kādu maksimālo izmēru varu kodēt?

Veidlapā pieņemtais faila lielums ir ierobežots līdz dažiem megabaitiem, kas ir pietiekami lielākā daļa ikonu, sīktēlu un iemiesojumu. Turklāt jūs atstājat saprātīgas lietošanas gadījumu Datu URI: statisks fails, ko apkalpo jūsu CDN, pārlūkprogrammai būs daudz efektīvāks kas attiecas uz jūsu Core Web Vitals metriku.

Kāpēc pārlūkprogramma kešatmiņā neglabā datu URI?

HTTP kešatmiņa darbojas pēc URL. Datu URI ir daļa no dokumenta, kurā tas ir, tāpēc tas tiek uzlādēts ar to. Savukārt ārējā ikona failā icon.png tiek saglabāta kešatmiņā vienreiz un uz visiem laikiem un atkārtoti izmantots visās lapās, kurās uz to ir atsauce. Šis ir galvenais Tāpēc datu URI joprojām ir nišas rīks, nevis vispārējs aizstājējs.

Pieprasījuma piemērs

curl -X POST https://cdrn.fr/api/v1/tools/base64-image-encoder/execute \
  -F "file=@/path/to/file"

Ievades shēma

Lauks Tips Obligāts Noklusējums
file file

šis rīks sagaida failu - izmantojiet Content-Type multipart/form-data application/json vietā

Endpoint

  • GET https://cdrn.fr/api/v1/tools - uzskaita visus pieejamos rīkus
  • GET https://cdrn.fr/api/v1/tools/base64-image-encoder - iegūst šī rīka shēmu
  • POST https://cdrn.fr/api/v1/tools/base64-image-encoder/execute - izpilda šo rīku ar JSON payload