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

Басе64 енкодер и декодер

Кодирајте текст у Басе64 или га декодирајте назад, уз пуну подршку за UTF-8 (ч, ћ, ш, ж, ђ и ћирилицу). Фајл можете претворити у дата URI.

Бесплатно, без регистрације. Све се извршава у вашем прегледачу. Подаци не напуштају ваш уређај.

Како се користи

  1. 1Изаберите кодирање или декодирање.
  2. 2Унесите текст.
  3. 3Копирајте резултат.
  4. 4За фајл изаберите фајл и копирајте дата URI.

Више о алату

Басе64 претвара бинарне податке у текст од 64 безбедна знака. Користи се за уградњу слика у HTML и CSS, слање фајлова кроз JSON API-је, емаил прилоге и аутентификацију. Басе64 није енкрипција: свако га може декодирати, па га не користите за скривање података.

Шта је Басе64 и чему служи

Басе64 је начин да се било који низ бајтова представи помоћу 64 знака из ASCII табеле: велика и мала слова, цифре, плус и коса црта. Идеја је једноставна: многи системи кроз које подаци пролазе (емаил протоколи, JSON, HTML атрибути, URL параметри) нису направљени да безбедно пренесу бинарне бајтове, па се они прво "пакују" у обичан текст.

Зато Басе64 срећете свуда: слика уграђена директно у CSS преко data: URI-ја, прилог у емаилу, токен за аутентификацију у заглављу HTTP захтева, поље у JSON телу API позива. Алат на овој страни ради у оба смера, уз подршку за UTF-8, па српска слова и ћирилица пролазе без изобличења.

Кључно је разумети шта Басе64 није: то није енкрипција ни заштита. Свако ко добије код може га декодирати у секунди, без кључа и лозинке. Ако податке треба сакрити, потребна вам је права криптографија, а не Басе64.

Како направити Басе64 од текста или фајла

Поступак је увек исти, без обзира на то шта кодирате:

  1. Налепите текст у поље за унос или изаберите фајл.
  2. Алат узима бајтове записа, најчешће UTF-8, и дели их у групе од по три бајта.
  3. Свака група се преводи у четири Басе64 знака. Ако на крају остане један или два бајта, додају се знакови = као допуна.
  4. Добијени код копирате и користите где вам треба.

Практичан пример: текст Zdravo у UTF-8 има 6 бајтова и даје WmRyYXZv. Српско č заузима два бајта, па реч čaj даје xI1hag==. Ти знакови = на крају нису грешка, они само кажу колико је бајтова допуњено.

Код фајлова пазите на величину. Слика од 100 KB након кодирања има око 133 KB текста, а цео садржај мора да стане у један стринг. За дата URI у CSS-u то је прихватљиво за иконице и мање слике, али не за велике фотографије, јер се такав CSS учитава при сваком отварању странице.

Савет за напредне: када Басе64 иде у URL или име фајла, користите варијанту безбедну за URL, где се + и / замењују са - и _, а = се често изоставља. Стандардни и URL безбедни Басе64 нису увек заменљиви, па проверите шта други систем очекује.

Зашто Басе64 текст изгледа дужи и како то проверити

Басе64 користи 64 знака, а сваки знак носи 6 битова. Пошто бајт има 8 битова, потребно је више знакова него бајтова, отприлике четвртину више, плус евентуални =. Зато текст увек изгледа дуже од оригинала, и то је нормално, а не грешка алата.

Када декодирање не успе, узрок је готово увек један од ових:

  • код је пресечен или је изгубљен део при копирању из емаила или цхат поруке;
  • у код су ушли размаци, преломи редова или невидљиви знакови;
  • мешају се стандардни и URL безбедни Басе64;
  • текст је кодиран у другој кодној страни, па се српска слова приказују као упитници или чудни симболи.

Провера је једноставна: дужина исправног Басе64 кода је увек дељива са четири, а знакови ван основног скупа су ретки. Ако декодирани текст изгледа исправно али слова нису добра, проблем је у кодном распореду, не у самом Басе64 коду.

Најчешће грешке при раду са Басе64

Највећа грешка је третирање Басе64 кода као тајне. Лозинке, API кључеви и лични подаци у Басе64 формату остају потпуно читљиви свакоме ко их пресретне. Ако се токен преноси кроз HTTPS, заштиту даје TLS, а не кодирање.

Друга честа грешка је двоструко кодирање. Ако код декодирате, па поново кодирате исти резултат, добићете другачији стринг и тешко ћете уочити где је настао проблем. Увек водите рачуна о томе у ком смеру идете и чувајте оригинал док не потврдите да је резултат исправан.

Трећа је мешање кодних распореда. Када алат прими текст, он мора знати да је у питању UTF-8, иначе š и đ могу завршити као нечитљиви низови. Зато при размени података са другим системом увек наведите кодирање, на пример у заглављу Content-Type: application/json; charset=utf-8.

Када Басе64 постане део већег система, рецимо API-ја који прима фајлове или обраде токена на серверу, грешке се брзо умноже. У таквим случајевима EVI Solutions може помоћи око архитектуре и интеграције, док вам овај алат добро служи за брзу проверу појединачног текста или фајла.

Честа питања

Да ли је Басе64 енкрипција?

Није. То је само кодирање које свако може да обрне.

Зашто је Басе64 текст дужи од оригинала?

Басе64 повећава величину за око 33%.

Да ли подржава српска слова?

Да, текст се кодира као UTF-8, па су ч, ћ, ш, ж, ђ и ћирилица подржани.

Сви алати