CodeKitHub
Инструменти за кодиране

Base64 кодиране / декодиране онлайн

Последна актуализация:

Base64 превръща всеки 3 байта данни в 4 ASCII знака, така че кодираният резултат е с около 33% по-голям от оригиналния вход. Преобразувайте текст в Base64 или декодирайте Base64 низ обратно в четим текст. Този инструмент е съвместим с UTF-8, така че коректно обработва емоджита, китайски и други не-ASCII знаци, които объркват елементарните Base64 инструменти. Всичко се изпълнява локално във вашия браузър.

Какво представлява този инструмент?

Base64 е схема за кодиране, която преобразува двоични или текстови данни в набор от 64 безопасни ASCII знака (A–Z, a–z, 0–9, + и /). Използва се навсякъде в софтуера: вграждане на изображения в HTML/CSS, HTTP Basic authentication заглавия, прикачени файлове в имейли (MIME), JSON Web Tokens и API заявки, които трябва да преминат само през текстови канали.

Важно: Base64 е кодиране, не криптиране. Всеки може да го декодира. Целта му е да направи данните безопасни за пренос през системи, които разбират само текст — не да ги пази в тайна.

Base64 е официално дефиниран в RFC 4648, който също така описва URL-безопасния вариант, използван в JWT и уеб API: той заменя + с - и / с _, така че кодираният низ да може да пътува вътре в URL адрес без процентно кодиране.

Защо да го използвате?

  • Декодирайте API токени, JWT сегменти и заглавия за оторизация, за да видите какво съдържат.
  • Кодирайте текст за data URI, конфигурационни файлове или HTTP заглавия.
  • Съвместимо с UTF-8: емоджита и не-латински знаци се кодират и декодират коректно.
  • 100% поверителност — преобразуването се извършва във вашия браузър, нищо не се качва.
  • Безплатно, без вход в акаунт, без ограничения за размер.

Как да го използвате

  1. Въведете или поставете съдържанието си в полето за вход.
  2. Натиснете „Кодирай“, за да преобразувате текст в Base64, или „Декодирай“, за да преобразувате Base64 обратно в текст.
  3. Ако декодирането е неуспешно, входът не е валиден Base64 — проверете за липсващи знаци или излишни интервали.
  4. Натиснете „Копирай“, за да копирате резултата.

Пример

Вход

Hello, CodeKitHub! 你好 👋

Резултат

SGVsbG8sIENvZGVLaXRIdWIhIOS9oOWlvSDwn5GL

Обърнете внимание как китайските знаци и емоджито оцеляват при обратното преобразуване — това е частта, съвместима с UTF-8.

Практични съвети

  • JWT токените представляват три Base64 сегмента, свързани с точки — декодирайте първите два (заглавие и полезен товар) поотделно, за да ги прочетете; третият е двоичен подпис и ще изглежда като случаен шум.
  • Ако декодирането на JWT сегмент е неуспешно, това е base64url кодиране: първо заменете - с + и _ с / (стандартните инструменти очакват азбуката +/).
  • Празните интервали и новите редове в Base64 низ обикновено са безобидни остатъци от имейли или логове, но липсващо крайно запълване = често не е — проверете дължината, преди да предположите, че данните са повредени.
  • Base64 увеличава размера на данните с около 33%. Подходящо е за малки полезни товари; за изображения над няколко KB реалният файл почти винаги е по-добрият избор пред data URI.

Реални сценарии на употреба

Трите случая, които водят хората тук ежедневно: четене на съдържанието на заглавие Authorization или JWT, декодиране на поле от полезен товар на webhook/API, пристигнало обвито в Base64 (често JSON — форматирайте го след декодиране), и ръчно създаване на data URI или Basic-Auth низ по време на дебъгване.

За двоични данни (изображения, файлове) имайте предвид, че при декодиране като текст ще получите нечетлив текст (mojibake) — данните може да са напълно валидни, просто не са текст. Кодирането/декодирането на двоични данни е задача за код; този инструмент е оптимизиран за текстовите случаи.

Как да диагностицирате грешка при декодиране

Грешките при Base64 декодиране почти винаги се дължат на една от три причини, подредени по честота: входът всъщност е бил base64url (използва - и _ вместо стандартните + и /, често срещано при JWT и URL-безопасни контексти) и знаците трябва да бъдат заменени обратно, преди стандартното декодиране да го приеме; низът е бил съкратен някъде по пътя (копиране-поставяне, което е пропуснало последните няколко знака, или ред от лог, който е бил отрязан), което може да се установи, защото дължината на валиден Base64 низ винаги е кратна на 4, след като се вземе предвид запълването; или странични знаци (излишни интервали, случаен нов ред, случайно дублиран знак) са били въведени по време на копиране, поради което поставянето директно от суровия източник, вместо повторно въвеждане, винаги е по-безопасно.

→

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

Base64 криптиране ли е?

Не. Base64 е обратимо кодиране, което всеки може да декодира — не осигурява никаква сигурност. Ако трябва да защитите данни, използвайте истинско криптиране (като AES); Base64 служи само за безопасен пренос на данни като текст.

Защо декодираният резултат изглежда като безсмислен текст?

Или входът всъщност не е Base64, или е бил съкратен, или оригиналните данни са били двоични (например изображение), а не текст. Двоичните данни няма да се покажат като четими знаци.

Какво представляват знаците = в края?

Запълване (padding). Base64 работи на блокове от 3 входни байта → 4 изходни знака. Когато дължината на входа не се дели на 3, един или два знака = запълват последния блок.

Работи ли този инструмент с емоджита и китайски знаци?

Да. Той първо кодира текста като UTF-8 байтове, което е стандартният подход. Елементарните инструменти, които използват директно btoa(), се провалят при всеки знак извън Latin-1 — този инструмент не се проваля.

Качват ли се моите данни някъде?

Не. Кодирането и декодирането се извършват изцяло във вашия браузър с JavaScript. Данните ви никога не напускат устройството ви.

Свързани инструменти