Декодер Base64
Декодируйте строку Base64 и смотрите получившийся текст. Вставьте закодированное содержимое в поле «Строка Base64», чтобы увидеть результат декодирования.
Инструмент декодирования Base64 в текст
Формула декодера Base64
Где:
- \(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
- Вставьте или введите закодированное содержимое в поле Строка Base64. Можно оставить значение по умолчанию, чтобы попробовать пример выше.
- Прочитайте результат в поле Декодированный текст. Для входных данных по умолчанию там отображается
Hello world!. - Воспользуйтесь кнопкой копирования результата, если нужно вставить декодированный текст в другое место. Если результат гласит «Недопустимая строка Base64», проверьте, нет ли во входных данных символов, которые не входят в стандартный набор Base64.
Калькулятор удаляет пробелы в начале и конце входных данных перед декодированием. Можно вставить строку целиком, не добавляя кавычки или метку вроде base64: — эти лишние символы станут частью входных данных.
Что означает декодирование Base64
Base64 — это способ представления байтов с помощью ограниченного набора текстовых символов: букв, цифр, знаков + и /, при этом = иногда используется как заполнение в конце. Этот способ часто применяется, когда данные должны пройти через текстовый формат, например ответ API или электронное письмо. Декодирование обращает это представление; оно не расшифровывает данные и не меняет смысл исходных байтов.
Этот калькулятор использует функцию браузера atob(). Её результат — строка, в которой каждый символ представляет один декодированный байт. Поэтому обычный текст ASCII, включая пример по умолчанию, отображается как ожидается. Если же исходные данные были файлом, сжатыми данными или другим нетекстовым форматом, результат может содержать нечитаемые символы, а не осмысленный текст.
Для текста вне ASCII важно различие между байтами и символами. В UTF-8 многие буквы с диакритикой, символы и эмодзи занимают несколько байтов, но этот инструмент не выполняет отдельного преобразования UTF-8 после декодирования Base64. В результате корректная строка Base64 с текстом в UTF-8 может выдать выглядящий искажённым вывод. Это не обязательно означает, что сама строка Base64 недопустима.
Ограничения ввода и практические советы
Этот инструмент ожидает Base64, который принимает функция atob() браузера. Стандартный Base64 обычно заканчивается одним или двумя символами заполнения =, хотя браузер может также принять корректную последнюю группу без заполнения. Само по себе отсутствие заполнения — не надёжный признак ошибки. Если декодирование не удалось, проверьте, нет ли скопированной пунктуации, неполной строки или символов из другого формата кодирования.
В URL-безопасном Base64 обычно знак + заменяется на -, а / — на _. Этот калькулятор не выполняет такую замену автоматически. Если источник явно использует URL-безопасный Base64, сделайте эти замены перед вводом. Точно так же, если закодированное значение встроено в 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 упаковывает те же данные компактнее: полная группа из трёх байтов превращается в четыре символа, не считая переводов строк и обрамляющего формата. Выбирайте формат, который требует система, принимающая данные.