Прескочи на садржај

Base64 декодер слика | Декодирање и преглед слика на мрежи

Бесплатан онлајн алат за декодирање base64 слика. Тренутно декодирање и преглед base64 низова као JPEG, PNG, GIF, WebP или SVG слика. Ради са data URL-овима и сировим base64.

Base64 dekoder i preglednik slika

Nalepite base64-kodiranu sliku i dekodujte je za prikaz.

Pregled slike

Nema slike za prikaz. Nalepite base64 string da biste ga dekodovali automatski.

Podržava JPEG, PNG, GIF i druge uobičajene formate slika.

Uputstva

1. Nalepite base64-kodiran string slike u tekstualno polje iznad.

2. Slika će se automatski dekodovati dok kucate ili kliknite na dugme 'Dekoduj sliku'.

3. Dekodovana slika će se pojaviti u pregledu ispod.

Napomena: String treba da počinje sa 'data:image/' za najbolje rezultate, ali će alat pokušati da dekoduje i stringove bez ovog prefiksa.

Kalkulator učitavanja...
📚

Dokumentacija

Шта је декодер слика у формату base64?

Декодер слика у формату бејз64 је алат који претвара текстуални низ кодиран у формату бејз64 назад у слику. Бејз64 је начин записивања бинарних података, као што су бајтови датотеке слике, коришћењем само 64 знакова обичног текста (слова, цифара, +, / и = за допуну). Прегледачи, имејлови и многи АПИ-ји чувају слике на овај начин, како би слика могла да путује унутар обичног текста уместо као посебна датотека. Декодер обрће тај поступак: налепите низ и појављује се оригинална слика.

Формат URL-а за податке

На вебу се слика у формату base64 обично записује као URL за податке. Образац је:

1data:[<media type>];base64,<data>
2

На пример:

1data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
2

Сваки део има своју улогу:

  • data: означава да је то URL за податке, а не уобичајена веб-адреса.
  • image/png је MIME тип који прегледачу говори о каквој је врсти датотеке реч.
  • ;base64 означава да су подаци после зареза кодирани у формату base64.
  • Све после зареза је сама кодирана слика.

Како декодер ради

Декодирање се одвија у четири корака.

  1. Алат проверава да ли низ почиње са data:. URL за податке који наводи медијски тип који није слика, као што је data:text/plain, одмах се одбацује јер никада не може да се прикаже као слика.
  2. Уклања размаке, табулаторе и преломе реда, пошто се дугачки base64 низови понекад преламају у више редова. Садржај који користи процентно кодирање уместо base64 формата, што RFC 2397 такође дозвољава, прослеђује се без измена.
  3. Декодира base64 текст назад у сирове бајтове.
  4. Посматра првих неколико бајтова резултата. Сваки уобичајени формат слике почиње фиксним низом бајтова, који се назива потпис или „магични број“. PNG датотеке почињу са 89 50 4E 47, JPEG датотеке са FF D8 FF и тако даље. Декодер упоређује те потписе и означава слику типом који они одређују.

Бајтови имају предност над ознаком. Ако URL за податке наводи data:image/png, али бајтови почињу са FF D8 FF, декодер поново гради URL као data:image/jpeg, па низ који нуди дугме „Копирај URL слике“ никада погрешно не описује сопствени садржај.

Ако низ нема префикс data:, декодер га третира као сирове base64 податке, декодира га и на исти начин очитава потпис. Ако се бајтови не поклапају ни са једним познатим потписом слике и не изгледају као SVG текст, декодер пријављује да низ, по свему судећи, није слика. Не погађа формат нити користи подразумевани тип као резервну опцију.

SVG се обрађује другачије јер је SVG текстуални формат (XML), а не бинарни, па нема фиксни потпис бајтова. Декодер проверава првих 1024 бајтова декодираног текста тражећи ознаку <svg, XML декларацију као што је <?xml version="1.0"?> праћену том ознаком или декларацију типа SVG документа праћену том ознаком. Ознака редоследа бајтова на самом почетку, коју неки уређивачи додају UTF-8 датотекама, занемарује се. Пошто се SVG не може препознати по потпису бајтова, URL за податке који наводи image/svg+xml задржава тип који је у њему наведен.

Формула за величину слике у формату base64

Base64 претвара свака 3 бајта бинарних података у 4 текстуална знака. Формула за дужину кодираног садржаја је:

1encoded_characters = 4 × ⌈original_bytes ÷ 3⌉
2

Симболи ⌈ ⌉ означавају „заокружи навише на следећи цео број“, јер base64 увек ради са групама од 4 знакова и допуњује недовршену групу знацима =.

Код великих датотека то даје приближно повећање величине од 33%, јер је 4 ÷ 3 ≈ 1,33. Код малих датотека процентуално повећање може бити веће, јер заокруживање навише на следећу групу од 4 знакова има већи утицај када на почетку нема много података.

Решени пример

PNG пример изнад декодира се у 85 бајтова података слике. Применом формуле:

14 × ⌈85 ÷ 3⌉ = 4 × 29 = 116
2

Base64 низ заиста има 116 знакова, што се поклапа. То је повећање од 36% у односу на изворних 85 бајтова (116 ÷ 85 ≈ 1,36), нешто више од вредности 33% јер је датотека веома мала.

Подржани формати слика

Декодер очитава потпис бајтова декодираних података да би утврдио формат. Препознаје следеће типове:

ФорматMIME типПроверени потпис
PNGimage/png89 50 4E 47 0D 0A 1A 0A
JPEGimage/jpegFF D8 FF
GIFimage/gifGIF87a или GIF89a
WebPimage/webpRIFF, четири занемарена бајта, затим WEBPVP
BMPimage/bmpBM
ICO / CURimage/x-icon00 00 01 00 или 00 00 02 00
SVGimage/svg+xmlНема потпис; препознаје се као текст који садржи ознаку <svg

Како декодирати слику у формату base64

  1. Копирајте base64 низ, са префиксом data:image/... или без њега, из HTML-а, CSS-а, одговора API-ја или имејла.
  2. Налепите га у поље за унос.
  3. Слика се аутоматски декодира убрзо након престанка куцања или када се притисне дугме за декодирање.
  4. Декодирана слика појављује се у области за преглед. Њен URL за податке може да се копира дугметом „Копирај URL слике“, а сама слика може да се сачува тако што се у области за преглед кликне на њу десним тастером и изабере опција за чување слике, пошто се приказује као уобичајени елемент слике у прегледачу.

Уобичајене примене слика у формату base64

  • Уметање у HTML, CSS или JavaScript: постављање података слике директно у код избегава посебан захтев за датотеку.
  • Шаблони имејлова: неки клијенти за имејл подразумевано блокирају споља повезане слике, али се уграђена base64 слика и даље приказује.
  • HTML алати у једној датотеци: цела страница, укључујући слике, може да се испоручи као једна самостална датотека.
  • Одговори API-ја: слика може да путује унутар JSON садржаја уместо да захтева сопствену крајњу тачку.
  • CSS позадине и иконе: мале иконе се понекад уписују директно у табелу стилова као URL за податке.

Недостаци слика у формату base64

Кодирање у формату base64 је практично, али има своју цену:

  • Кодирани текст је приближно за трећину већи од оригиналне датотеке.
  • Прегледачи не могу да кеширају уграђену слику на исти начин као повезану датотеку, па се она поново преузима сваки пут када се учита околна страница или табела стилова.
  • Прегледач мора да декодира base64 текст пре него што може да прикаже слику, што захтева мало додатне обраде.
  • Због повећања величине и губитка кеширања, уметање у формату base64 одговара малим сликама као што су иконе и једноставни логотипи. Веће фотографије се обично боље испоручују као обичне датотеке слика.

Најчешће постављана питања

Шта је декодер слика у формату base64?

То је алат који претвара текстуални низ кодиран у формату base64 назад у слику која може да се прикаже, као што су PNG, JPEG, GIF, WebP, BMP или SVG датотеке.

Како да декодирам слику у формату base64?

Налепите base64 низ, са префиксом data:image/... или без њега, у декодер. Он ће очитати и декодирати низ и приказати добијену слику.

Може ли се base64 низ декодирати без префикса URL-а за податке?

Да. Декодер га третира као сирове base64 податке, декодира бајтове и очитава првих неколико бајтова да би по потпису утврдио формат, као што су PNG, JPEG, GIF, WebP, BMP или ICO. SVG се препознаје тражењем ознаке <svg у декодираном тексту. Ако се ништа од тога не поклапа, декодер пријављује да низ, по свему судећи, није слика, уместо да погађа формат.

Зашто моја base64 слика не може да се декодира?

Већину случајева објашњавају три узрока. Низ можда садржи знакове ван стандардне base64 азбуке, коју чине A–Z, a–z, 0–9, +, / и =; варијанта base64url која се користи у неким веб-токенима уместо тога записује - и _ и није прихваћена. Низ је можда прекинут, па је његова дужина за један већа од вишеструког броја четири, што се не јавља ни код једног важећег base64 низа. Или бајтови једноставно нису у једном од подржаних формата слика. Сам недостатак допуне = није проблем, а размаци и преломи реда уклањају се пре декодирања.

Да ли је base64 кодирање вид безбедности или шифровања?

Не. Base64 је само начин представљања бајтова у облику текста; он ништа не скрива. Свако може да декодира base64 низ за неколико секунди помоћу бесплатног алата, па га никада не треба користити за заштиту приватних слика или других података.

Колико је base64 низ већи од оригиналне слике?

Код већих датотека приближно за трећину, јер свака 3 бајта оригиналних података постају 4 текстуална знака. Слика величине 100 KB након кодирања постаје приближно 133 KB. Код малих слика процентуално повећање може бити нешто веће због заокруживања.

Историја

Base64 је настао из шема кодирања развијених током 1970-их и 1980-их за слање бинарних података кроз поштанске системе који су обрађивали само обичан текст, а за имејл је формализован у RFC-у 989 (1987), а касније и у RFC-у 1421. Његова употреба за уметање слика у веб-странице постала је могућа када је шема URL-а data: дефинисана у RFC-у 2397 (1998), а постала је чешћа средином 2000-их, када су програмери тражили начине да смање број засебних HTTP захтева, нарочито на спорим мобилним везама.

Референце

  1. RFC 4648: Кодирања података Base16, Base32 и Base64
  2. RFC 2397: Шема URL-а „data“
  3. MDN Web Docs: URL-ови за податке
  4. WHATWG стандард за препознавање MIME типова