Base64 — друга велика Кодування цього сайту: її може відмінити будь-хто, вона нічого не ховає, і це не шифрування. Її мета — передавання: перетворити довільні байти на текст, який виживає в каналах, що розуміють лише текст, — у тілах листів, URL і JSON-файлах.
Кожні три байти входу (24 біти) перерізаються на чотири групи по
шість бітів, і кожне шестибітове значення — від 0 до 63, звідси
«base 64» — записується як літера з нерухомого алфавіту з 64 знаків:
A–Z, a–z, 0–9, + та /.
Візьміть три байти: 24 біти.
Переріжте їх на чотири шестибітові числа (0–63).
Знайдіть кожне число в таблиці 64 символів і запишіть символ.
Якщо вхід не кратний трьом, остання група має менше байтів —
бракуючі місця записуються як наповнювач =.
M — це 01001101, E — 01000101, знову E 01000101 — злейте 24
біти докупи, переріжте по шість: 19, 20, 21, 5 → TUVF. Зверніть
увагу на останній рядок: самотній N стає Tg== — два символи
корисного навантаження і два знаки наповнювача, бо 1 байт = 12 бітів
заповнює лише дві шістки.
3 байти = 24 біти = 4 × 6 бітів → 4 символи
довжина зростає рівно на 4/3 (плюс наповнювач)Це зростання — на третину більше за вхід, незалежно від вмісту — і пояснює, чому Base64-бриди здаються подозрівно одноманітними: будь- яка літера будь-якої мови потрапляє в ті самі 64 символи.
Base64 робить бінарні дані придатними до друку й безпечними для «поштового» каналу; як схованка воно не годиться ні на гріш. Закодовані рядки декодуються одним кроком без ключа, тож «не читається оком» не означає «захищено». Якщо пароль, ключ API чи «таємне» повідомлення подорожує як Base64, воно подорожує на виду — декодування за один клик вставляння, як демонструє вкладка практики.
Наберіть або вставте будь-який текст — пробіли, розділовість, цифри, що завгодно — у поле повідомлення. У Base64 немає ані налаштувань, ані ключа.
Прочитайте закодований рядок у поле результату. Алфавіт
завжди A–Z a–z 0–9 + /, а хвіст добиває =.
Вставте Base64 у поле повідомлення і натисніть кнопку обміну кнопку обміну. Немає налаштувань, які можна зіпсувати.
Прочитайте розкоджений текст у поле результату.
Якщо розкодування не вдається, рядок, найімовірніше, не валідний
Base64: шукайте символи поза алфавітом, бракуючий наповнювач =
чи пробіл, що затесався під час копіювання.
Довжина кратна 4, лише літери, цифри, +, / і = наприкінці —
ця комбінація є відбитком.
Хвіст == означає, що остання група несла один байт; один = —
два.
Запам'ятайте урок цієї сторінки: упізнати кодування — миттєвість, розкодувати — миттєвість; Base64 — це транспортна обгортка, а не замок.