Base64 Енкодер / Base64 Декодер Онлайн

0 chars
0 chars

Трябва ли да преобразувате четим текст във формат Base64 за използване в HTTP хедъри или обратното, да дешифрирате съдържанието на API токен? Нашият Base64 Текстов Енкодер & Декодер е специализиран инструмент за работа с текстови низове, който може да се справи и с трудности като диакритични знаци или специални символи.

Работите ли с изображения?
Ако вашият код започва с data:image/png... или искате да преобразувате файл в текст, този инструмент ще ви покаже само безсмислени знаци. Използвайте нашия специализиран инструмент за преобразуване на изображение.

Как работи форматът Base64?

Много хора използват Base64 ежедневно, но малцина знаят как функционира “под капака”. Това не е магия, а проста математика с битове.

Обикновеният текст в компютъра се съхранява в 8 бита (1 байт). Base64 обаче използва „азбука“ от 64 знака (A-Z, a-z, 0-9, +, /). Тъй като 2^6 = 64, един Base64 знак представлява точно 6 бита информация.

Процес на преобразуване (Алгоритъм):

  1. Взимат се три знака от вашия текст (3 × 8 бита = 24 бита).
  2. Тези 24 бита се разделят на четири групи от по 6 бита.
  3. На всяка група се присвоява знак от таблицата Base64.

Следствие: Тъй като от 3 знака правим 4 знака, полученият Base64 низ винаги е приблизително с 33% по-дълъг от оригиналния текст.

Проблем с кодовата таблица: Защо обикновените Base64 конвертори унищожават българския език?

Ако някога сте се опитвали да кодирате думата „Куче“ в конзолата на браузъра с помощта на функцията btoa('Куче'), вероятно сте получили грешка: String contains characters outside of the Latin1 range.

Base64 първоначално е бил предназначен за 7-битови ASCII знаци. Българският език, емоджита и други специални символи (UTF-8) обаче заемат повече байтове в паметта (многобайтови символи).

  • Буква a = 1 байт.
  • Буква я = 2 байта.
  • Emoji 🚀 = 4 байта.

Нашият инструмент решава този проблем. Преди самото кодиране в Base64, ние правилно преобразуваме текста в поредица от UTF-8 байтове. Благодарение на това можете безопасно да кодирате JSON обекти, български текстове и съвременни символи без риск от повреда на данните.

Къде се използва текстовото кодиране Base64?

Докато изображенията в Base64 служат главно за вграждане в CSS/HTML, текстовият Base64 има съвсем различно приложение в бекенд системите:

1. HTTP Basic Authentication

Когато се влизате в API, хедърът често изглежда така: Authorization: Basic dXppdmF0ZWw6aGVzbG8= Зад този код се крие просто свързано потребителско име и парола във формат потребител:парола. Нашият инструмент ви позволява лесно да генерирате или проверявате тези хедъри.

2. JSON Web Токени (JWT)

Съвременните уеб приложения използват т.нар. JWT за вход. Такъв токен изглежда като три дълги низа, разделени с точка. Частта с данни (Payload) е обикновен JSON обект, кодиран в Base64.

  • Съвет: Опитайте да поставите средната част на вашия JWT токен тук и да я декодирате. Ще видите точно какви данни за вас съхранява приложението (напр. потребителски ID, изтичане).

3. Конфигурационни файлове (Kubernetes Secrets)

Платформи като Kubernetes съхраняват тайни данни (Secrets) в конфигурационни YAML файлове именно в Base64. Това не е криптиране, а начин за съхраняване на бинарни данни или текст с проблемни знаци (нови редове, кавички) в текстов файл.

Какво е „URL Safe Base64 кодиране“ и защо е важно?

Стандартната Base64 азбука съдържа символите + (плюс) и / (наклонена черта). И двата символа имат специално значение в URL адресите:

  • / разделя директории.
  • + често се интерпретира като интервал.

Ако изпратите стандартен Base64 като URL параметър (напр. site.com?token=ab/cd+ef), сървърът може да прочете данните неправилно.

Решение (URL Safe режим): Нашият превключвател активира варианта Base64URL (съгласно RFC 4648), който извършва следните промени:

  • + се променя на - (тире).
  • / се променя на _ (долна черта).
  • В края се премахват символите = (допълване/padding), които не са необходими в URL.

Мит: Base64 не е криптиране!

Важно е да осъзнаете основната разлика, която начинаещите често бъркат:

  1. Кодиране (Encoding - Base64): Служи за пренос на данни. Сякаш опаковате нещо в куфар, за да не се счупи по пътя. Всеки, който намери куфара, може да го отвори (декодира) и да види съдържанието. Не е безопасно за тайни данни.
  2. Криптиране (Encryption - AES, RSA): Заключва данните с ключ. Без ключа не можете да получите достъп до съдържанието.
  3. Хеширане (Hashing - SHA, MD5): Еднопосочен процес (напр. за съхраняване на пароли). От резултата не може да се получи оригиналния текст.

Ако трябва да изпратите парола или чувствителни данни, само Base64 не е достатъчен. Трябва да използвате HTTPS (SSL/TLS), което криптира предаването.


Често задавани въпроси (FAQ)

Какво означават символите „=“ в края на низа? Това е т.нар. „padding“ (допълване). Тъй като Base64 кодира данни на групи от 3 знака, може да се случи дължината на оригиналния текст да не е делима на три. Символите `=` се добавят в края, така че декодерът да разбере колко бита трябва да игнорира в края.
Защо декодираният текст се показва като „разпилян чай“? Вероятно се опитвате да декодирате данни, които не са текст. Ако Base64 низът представлява компресиран файл (ZIP), изображение или криптирани данни, преобразуването в текст (UTF-8) няма смисъл. Опитайте се да разберете произхода на данните.
Работи ли инструментът офлайн? Да. Цялата логика за преобразуване е написана на JavaScript и работи директно във вашия браузър. След като страницата се зареди, можете да се изключите от интернет и инструментът пак ще работи. Вашите данни не се изпращат никъде.