Перейти до вмісту
Обране

Декодер Base64

Оновлено:

Декодуйте рядок Base64 і переглядайте отриманий текст. Вставте закодований вміст у поле «Рядок Base64», щоб побачити декодований результат.

Інструмент декодування Base64 у текст

Поля введення
Якщо увімкнено, результат оновлюватиметься автоматично після зміни будь-якого значення.

Формула декодера Base64

Формула
\[ b_1=4v_1+\left\lfloor\frac{v_2}{16}\right\rfloor,\quad b_2=16(v_2\bmod16)+\left\lfloor\frac{v_3}{4}\right\rfloor,\quad b_3=64(v_3\bmod4)+v_4 \]

Де:

  • \(v_1,v_2,v_3,v_4\) — значення від 0 до 63, які представляють чотири символи Base64.
  • \(b_1,b_2,b_3\) — три декодовані байти, кожен від 0 до 255.

Кожна повна група з чотирьох символів Base64 відповідає трьом байтам. Наведені рівняння відновлюють ці байти, виконуючи дії, зворотні до тих, якими Base64 розбиває їх на шестибітові значення; остання група з доповненням дає менше байтів.

Декодер Base64 — приклад обчислення

Приклад: типовий рядок Base64 SGVsbG8gd29ybGQh містить закодоване повідомлення «Hello world!».

\[ \operatorname{atob}(\texttt{SGVsbG8gd29ybGQh})=\text{Hello world!} \]

Результат: декодований текст — Hello world!.

Як користуватися декодером Base64

  1. Вставте або введіть закодований вміст у поле Рядок Base64. Можна залишити стандартне значення, щоб перевірити приклад вище.
  2. Прочитайте результат у полі Декодований текст. Для стандартного введення там відображається Hello world!.
  3. Скористайтеся кнопкою копіювання результату, якщо потрібно вставити декодований текст в інше місце. Якщо результат повідомляє «Некоректний рядок Base64», перевірте, чи у введенні немає символів, які не належать до стандартного Base64.

Калькулятор обрізає пробіли на початку та в кінці введення перед декодуванням. Можна вставити весь рядок без лапок чи мітки на кшталт base64:; такі зайві символи стали б частиною введення.

Що означає декодування Base64

Base64 — це спосіб представлення байтів за допомогою обмеженого набору текстових символів: літер, цифр, + та /, причому = іноді використовується як доповнення в кінці. Цей формат часто застосовують, коли дані мають проходити через текстовий формат, наприклад відповідь API або електронний лист. Декодування виконує обернену операцію; воно не розшифровує дані і не змінює значення початкових байтів.

Цей калькулятор використовує функцію браузера atob(). Її результатом є рядок, у якому кожен символ представляє один декодований байт. Звичайний текст ASCII, зокрема стандартний приклад, тому виглядає, як очікувалося. Якщо початковими даними був файл, стиснуті дані або інший нетекстовий формат, результат може містити нечитабельні символи замість зрозумілого тексту.

Для тексту поза ASCII важлива різниця між байтами та символами. UTF-8 використовує кілька байтів для багатьох літер з діакритикою, символів та емодзі, але цей інструмент не виконує окремого перетворення UTF-8 після декодування Base64. Тому коректний рядок Base64 із текстом UTF-8 може дати схожий на «спотворений» результат. Такий вигляд не обов’язково означає, що сам Base64 некоректний.

Обмеження введення та практичні поради

Цей інструмент очікує Base64, який приймає функція браузера atob(). Стандартний Base64 зазвичай закінчується одним або двома символами доповнення =, хоча браузер може також прийняти коректну останню групу без доповнення. Сама відсутність доповнення — ненадійна ознака помилки. Якщо декодування не вдається, перевірте, чи не скопіювалися зайві розділові знаки, чи рядок повний, і чи немає символів з іншого формату кодування.

Base64, безпечний для URL, зазвичай замінює + на - та / на _. Цей калькулятор не перетворює ці символи автоматично. Якщо ваше джерело явно використовує Base64, безпечний для URL, виконайте ці заміни перед введенням. Так само, якщо закодоване значення вбудовано в URL, спочатку виділіть частину Base64; скористайтеся декодером URL, якщо сам URL містить символи відсоткового кодування.

Якщо вам потрібно перетворити текст у Base64, а не декодувати його, скористайтеся кодером Base64. Щоб переглянути значення байтів в іншій нотації, конвертер шістнадцяткових чисел і конвертер двійкових чисел охоплюють ці представлення. Жодне з цих перетворень не робить конфіденційний вміст приватним: Base64 — це кодування, а не засіб захисту.

Часті запитання

Як декодувати Base64 вручну?

Знайдіть значення кожного символу в алфавіті Base64, а потім запишіть кожне значення як шість двійкових бітів. Об’єднайте біти та розділіть їх на восьмибітові байти. Наприклад, TQ== містить значення 19 і 16, що дає біти 01001101 — байт зі значенням ASCII літери M. Два знаки = вказують, що остання група містить лише один байт.

Скільки байтів дасть рядок Base64?

Для рядка з доповненням порахуйте символи, поділіть на чотири, помножте на три, а потім відніміть кількість знаків = у кінці. Наприклад, вісім символів, що закінчуються одним =, представляють п’ять байтів. Це підрахунок байтів, а не відображуваних символів: символ UTF-8 може займати кілька байтів, а двійкові дані можуть не відображатися як читабельний текст.

Чи роблять пробіли або розриви рядків Base64 некоректним?

Браузерний декодер Base64 зазвичай ігнорує ASCII-пробіли, зокрема звичайні пробіли, табуляції та розриви рядків, навіть усередині закодованого рядка. Інші невидимі символи, скопійовані з документа, все ж можуть спричинити помилку. Якщо декодування несподівано не спрацьовує, спробуйте прибрати форматування та перевірити схожі символи, наприклад типографське тире замість звичайного дефіса.

Як відновити літери з діакритикою або емодзі з декодованого Base64?

Спочатку декодуйте Base64 у байти, а потім інтерпретуйте ці байти за допомогою текстового кодування, яке використовувалося джерелом — зазвичай UTF-8. Цей калькулятор відображає кожен байт як символ, замість того, щоб виконувати цей другий крок. У JavaScript можна передати декодовані значення байтів до TextDecoder з UTF-8. Якщо джерело використовувало інше символьне кодування, виберіть саме його.

Чи можна вставити в декодер цілий data URL?

Ні. Для data URL на кшталт data:text/plain;base64,SGk= вставте лише частину після коми: SGk=. Префікс описує вміст і не є частиною даних Base64. Також перевірте, чи URL справді містить ;base64; деякі data URL зберігають текст із використанням процентного кодування.

Чому успішно декодований результат містить дивні символи або порожні символи?

Успішне декодування Base64 лише підтверджує, що байти відновлено; воно не гарантує, що ці байти утворюють читабельний текст. Декодований файл може містити керуючі байти, зокрема нульовий байт, які відображаються як порожні або поводяться дивно під час копіювання. Щоб надійно переглянути такий вміст, використовуйте інструмент, орієнтований на байти, наприклад шістнадцятковий переглядач, а не текстове відображення.

Чим Base64 відрізняється від шістнадцяткового кодування?

Обидва представляють байти у вигляді тексту, не шифруючи їх. Шістнадцяткова система використовує два символи на байт і зручна для перегляду окремих значень байтів. Base64 упаковує ті самі дані компактніше: повна група з трьох байтів стає чотирма символами, не враховуючи розриви рядків чи обрамляючий формат. Виберіть формат, який вимагає система, що отримує дані.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *