Очистка Base64
Бесплатный онлайн-инструмент очистки Base64, удаляющий переводы строк, пробелы, невидимые символы и другое недействительное содержимое из строк Base64. Поддерживает три независимые опции: удаление пробельных символов, удаление специальных символов и автоматическое дополнение padding. Выводит Base64, строго соответствующий RFC 4648.
Похожие
Что такое очистка Base64?
Очистка Base64 — это операция удаления всех недействительных и избыточных символов из строки Base64. Цель — вывести чистый Base64, строго соответствующий стандарту RFC 4648, для удобной передачи, хранения и декодирования между разными системами.
Зачем нужна очистка: Base64 из разных источников часто содержит примеси недействительных символов. ① Переводы строк (\n, \r\n) — вложения электронной почты, поля баз данных, вывод логов; ② Пробелы и табуляция — ручная вставка, копирование из Excel; ③ UTF-8 BOM (EF BB BF) — текстовые файлы, сохранённые в Windows; ④ Полноширинные символы, китайская пунктуация — ошибки копирования и вставки. Всё это вызывает ошибки декодера.
Три опции очистки: ① Удаление пробельных символов (\s \n \r \t) — обработка переводов строк и пробелов; ② Удаление специальных символов — сохраняются только символы алфавита Base64 A-Z a-z 0-9 + / = - _; ③ Автоматическое дополнение padding — приводит длину результата к кратной 4. Три опции можно выбирать независимо и комбинировать по необходимости.
Типичные сценарии использования: ① Отладка API — очистка при ошибке декодирования Base64, возвращённого сторонним интерфейсом; ② Импорт в базу данных — удаление лишних пробелов при копировании из Excel; ③ Предобработка перед декодированием — предотвращение ошибки InvalidCharacterError в atob(); ④ Нормализация JWT / Data URL — обработка различий при передаче между системами.
Варианты использования
- Предобработка перед декодированием: очистка Base64 с переводами строк или пробелами из сторонних API, JWT, логов в форму, пригодную для непосредственного декодирования, чтобы избежать InvalidCharacterError.
- Исправление вставки из Excel / электронной почты: удаление лишних пробелов, табуляции и переводов строк, попадающих при копировании Base64 из ячеек Excel, текста писем.
- Очистка JWT-токенов: нормализация трёхчастной строки JWT (header.payload.signature) с переводами строк в одну строку, удаление лишних пробельных символов.
- Обработка MIME-вложений: очистка автоматического переноса строк каждые 76 символов в Base64 вложений электронной почты для удобства последующего декодирования.
- Совместимость с URL Safe: сохранение символов - и _, чтобы Base64 в JWT, URL-путях и именах файлов не был случайно удалён.
- Предобработка перед пакетной очисткой: используется совместно с base64-format / base64-padding — сначала очистите, затем форматируйте или дополняйте padding.
Как использовать
- Вставьте или введите зашумлённую строку Base64 (может содержать переводы строк, пробелы и другие недействительные символы).
- Выберите опции очистки по необходимости: удаление пробельных символов, удаление специальных символов, автоматическое дополнение padding (по умолчанию все три опции включены).
- Смотрите вывод справа: в реальном времени отображается очищенный Base64, подсчёт символов, количество удалённых символов, легитимность декодирования.
- Скопируйте результат в буфер обмена или скачайте как файл .txt для последующей обработки.
Функции
- Опция удаления пробельных символов: автоматически удаляет \n, \r, \t и пробелы, обрабатывает сценарии с вложениями электронной почты, вставкой из Excel.
- Опция удаления специальных символов: сохраняет только 66 допустимых символов Base64: A-Z a-z 0-9 + / = - _.
- Автоматическое дополнение padding: при выборе приводит длину результата к кратной 4, исправляя ошибки длины.
- Три независимые опции с возможностью комбинирования: выбирайте по необходимости, гибко справляйтесь с разными видами загрязнений.
- Сохранение URL Safe символов: - и _ не удаляются случайно, предотвращая потерю символов в сценариях JWT / URL.
- Проверка вывода в реальном времени: с помощью браузерного atob() проверяется, можно ли декодировать вывод, статус отображается в реальном времени.
- Подсчёт символов и уведомления об удалении: в реальном времени отображается количество символов на входе/выходе, количество удалённых символов, статус возможности декодирования.
- Локальная обработка в браузере: все операции очистки выполняются локально, исходный Base64 не загружается ни на какой сервер.
Best Practices
Сначала очистите, потом используйте инструмент padding для дополнения
Очистка только удаляет недействительные символы и опционально дополняет padding. Если Base64 одновременно содержит переводы строк и отсутствующий padding, рекомендуется сначала выбрать все три опции очистки, затем проверить, остаётся ли длина вывода некратной 4. Если padding всё ещё некорректен, можно использовать специальный инструмент padding.
Отдельная обработка трёх частей JWT-токена
JWT — это целое из трёх частей Base64URL (header.payload.signature), соединённых точками. При очистке из всех трёх частей нужно удалить пробельные символы, но не вставлять лишние символы между частями, иначе проверка подписи завершится неудачей. Рекомендуется перед вставкой разделить по ., очистить каждую часть по отдельности, затем снова соединить.
Для URL Safe ввода не выбирайте «Удаление специальных символов» без необходимости
URL Safe Base64 использует - и _ вместо + и /. Этот инструмент по умолчанию сохраняет эти 4 символа, но если вручную задать более строгий белый список символов (разрешены только +/), URL Safe ввод будет испорчен. Если вы не уверены в наборе символов, отключите «Удаление специальных символов», оставив только «Удаление пробельных символов».
Если после очистки всё равно ошибка — проверьте кодировку и BOM
Если после очистки atob() всё равно выдаёт InvalidCharacterError, возможно, остались UTF-8 BOM (EF BB BF) или пережитки кодировки UTF-16. Опция «Удаление пробельных символов» этого инструмента не нацелена на BOM, рекомендуется повторно декодировать как UTF-8 с помощью TextDecoder в консоли браузера, затем снова очистить.
Распознавание источника BOM: txt, сохранённые в Windows
Если Base64 получен сохранением как UTF-8 в «Блокноте» Windows, первые 3 байта (EF BB BF) — это BOM. Даже после очистки пробелов и переводов строк atob может не распознать. Способ обработки: пересохраните как UTF-8 без BOM с помощью VS Code или PowerShell.
Показывайте сравнение до и после очистки при обучении и в документации
Очистка Base64 — частая проблема при обучении. Рекомендуется при написании документов прилагать Base64 до и после очистки вместе со сравнением количества символов и статуса возможности декодирования, чтобы читатели наглядно понимали назначение каждой опции.
Часто задаваемые вопросы
Изменяет ли очистка Base64 исходные байты?
Нет. Очистка только удаляет недействительные символы (пробельные, переводы строк, не-Base64 символы), не изменяя промежуточные допустимые символы. Если удаляются только пробельные и недопустимые символы, байтовое содержимое до и после очистки полностью совпадает. Если выбрано «Автоматическое дополнение padding», только в конец добавляются =, не влияя на исходные байты.
В чём разница между тремя опциями очистки?
Удаление пробельных символов: удаляет \s \n \r \t (пробелы, переводы строк, возврат каретки, табуляция). Удаление специальных символов: сохраняет только 66 допустимых символов Base64: A-Z a-z 0-9 + / = - _. Автоматическое дополнение padding: добавляет = в конец, чтобы длина стала кратной 4. Три опции независимы и могут комбинироваться.
Почему atob() выдаёт InvalidCharacterError?
Распространённые причины: ① Содержит китайские символы, Unicode-эмодзи или другие не-ASCII символы; ② Содержит переводы строк или пробелы (часто при копировании из Excel, вставке из почты); ③ Смешаны символы Base64URL (- _); ④ Длина не кратна 4. Очистка этим инструментом решает первые 3 проблемы, инструмент дополнения padding решает четвёртую.
Удаляет ли очистка padding?
Нет. = — это допустимый символ Base64, опция «Удаление специальных символов» этого инструмента явно сохраняет =. Если вы хотите удалить padding, используйте специальный инструмент padding (base64-padding) в режиме «удалить заполнение».
Как очистить, если есть переводы строк?
По умолчанию выбранная опция «Удаление пробельных символов» справится с этим. Переводы строк (\n / \r\n), табуляция и пробелы будут удалены. Если нужно сохранить переводы строк (формат MIME-вложений электронной почты), отключите опцию «Удаление пробельных символов».
Может ли этот инструмент обработать UTF-8 BOM?
BOM (EF BB BF) — это символ Unicode U+FEFF, опция «Удаление пробельных символов» этого инструмента использует регулярное выражение \s \n \r \t, не включающее U+FEFF, поэтому BOM может остаться. При InvalidCharacterError из-за BOM рекомендуется сначала удалить BOM с помощью TextDecoder в коде или консоли браузера.
Происходит ли взаимное преобразование символов URL Safe и стандартного Base64?
Нет. Опция «Удаление специальных символов» этого инструмента сохраняет четыре символа + / - _, выполняется только удаление шума без активного преобразования. Если нужно взаимное преобразование URL Safe ↔ стандартные символы, используйте специальный инструмент Base64URL (base64-url-safe).
Моё содержимое загружается на сервер?
Нет. Вся логика очистки выполняется локально в браузере, исходная строка Base64 не покидает ваше устройство. Можно смело использовать для обработки конфиденциальных данных (учётные данные, ключи, токены).
Можно ли очистить несколько сегментов Base64 за раз?
Этот инструмент имеет интерфейс для односегментной очистки. Если нужно очистить несколько сегментов Base64, рекомендуется циклически использовать логику этого инструмента или использовать соответствующие утилиты командной строки (например, команду base64). Для пакетного кодирования/декодирования используйте base64-batch-encode / base64-batch-decode.
Устранение неполадок
После очистки atob всё равно выдаёт ошибку
Возможно, проблема в длине (не кратна 4) или остатках BOM / кодировки. Сначала убедитесь, что выбрано «Автоматическое дополнение padding», если ошибка сохраняется, попробуйте повторно декодировать как UTF-8 с помощью TextDecoder в консоли браузера, удалить BOM, затем снова очистить.
После очистки длина изменилась, но декодирование всё равно не удаётся
Возможно, исходное содержимое — не стандартный Base64, например Base32 / Base58 / Base85. Проверьте формат кодировки исходных данных и переключитесь на соответствующий инструмент. Также можно попробовать перед atob протестировать, может ли исходная строка быть перекодирована с помощью btoa.
После очистки символов стало очень мало
Скорее всего, опция «Удаление специальных символов» слишком строгая и удалила также + / - _. Проверьте, не отключили ли вы случайно белый список символов; этот инструмент по умолчанию сохраняет все 66 допустимых символов Base64. Если ввод — URL Safe, отключите «Удаление специальных символов».
После вставки нет никакого вывода
Возможно, ввод полностью состоит из пробельных символов (содержит только пробелы / переводы строк / табуляцию), опция «Удаление пробельных символов» этого инструмента удалит их все, оставив пустую строку. Проверьте, содержит ли исходный ввод хотя бы один символ Base64 (A-Z a-z 0-9 + / =).
Глоссарий
- UTF-8 BOM
- Маркер последовательности байтов. 3-байтовый префикс (0xEF 0xBB 0xBF), добавляемый при сохранении текста UTF-8 в Windows, из-за которого декодер Base64 воспринимает первый символ как недопустимый байт.
- URL Safe Base64
- Определённый в RFC 4648 §5 вариант Base64 для URL, в котором + и / заменены на - и _. Опция «Удаление специальных символов» этого инструмента сохраняет эти 4 символа, чтобы избежать их случайного удаления.
- Пробельные символы
- \r\n (Windows) и \n (Unix / macOS), а также пробелы и табуляция. MIME Base64 вложений электронной почты обычно переносится на новую строку каждые 76 символов, при очистке их нужно удалить.
- Действительные символы Base64
- Стандартный набор символов Base64: A-Z, a-z, 0-9, +, /, = (padding), плюс - и _ из варианта URL Safe — всего 66 допустимых символов.
- InvalidCharacterError
- Ошибка декодирования, которую выдаёт браузерный atob(). Возникает, когда строка Base64 содержит символы за пределами таблицы допустимых символов (китайские символы, пробелы, специальные знаки и т. д.).
Набор символов Base64 и правила сохранения
Таблица допустимых символов, сохраняемых опцией «Удаление специальных символов» этого инструмента.
| Тип символа | Символы | Правило сохранения |
|---|---|---|
Буквы | A-Z, a-z | 52 символа, обязательно сохраняются |
Цифры | 0-9 | 10 символов, обязательно сохраняются |
Символы стандартного Base64 | + / | 2 символа, обязательно сохраняются |
Символы URL Safe | - _ | 2 символа, обязательно сохраняются в сценариях URLSafe |
Padding | = | Заполнение в конце, обязательно сохраняется |
Пробельные символы | пробел, \n, \r, \t | Удаляются опцией «Удаление пробельных символов» |
Прочее | китайские символы / эмодзи / BOM и т.д. | Удаляются опцией «Удаление специальных символов» |
5 распространённых источников загрязнения Base64
Узнайте, как недействительное содержимое попадает в строки Base64.
| Источник загрязнения | Попавшее содержимое | Рекомендуемая опция |
|---|---|---|
Вложения электронной почты | \r\n каждые 76 символов | Удаление пробельных символов |
Вставка из Excel / базы данных | пробелы в начале/конце / табуляция | Удаление пробельных символов |
txt-файлы Windows | UTF-8 BOM (EF BB BF) | Удаление специальных символов + ручное удаление BOM |
URL / имена файлов | конфликт символов + / | Сохранять URLSafe (использовать base64-url-safe для преобразования) |
Вывод логов / trace | отладочные префиксы / суффиксы | Удаление специальных символов |
Сравнение трёх опций очистки
Три опции независимы с возможностью наложения, комбинируйте по необходимости.
| Опция | Поведение | Типичный сценарий |
|---|---|---|
Удаление пробельных символов | Удаляет \s \n \r \t | Почта / Excel / логи |
Удаление специальных символов | Сохраняет только алфавит Base64 | Попали китайские символы / эмодзи / BOM |
Автоматическое дополнение padding | Добавляет = в конец до кратности 4 | Длина не кратна 4 |
Authoritative References
- Безопасное сравнение строк
- Двоичное Кодирование
- Шифр Цезаря
- Азбука Морзе
- Hex Кодирование
- Видео в Base64
- Base64 в видео
- Изображение в Base64
- Base64 в изображение
- Текст в Base64
- Base64 в текст
- Проверка хеша файла
- Файл в Base64
- Base64 в Файл
- Аудио в Base64
- Base64 в Аудио
- AES-шифрование и расшифровка
- DES Шифрование
- Кодировщик и Декодер Base32
- Base58 кодирование и декодирование
- Кодирование Base64
- Декодирование Base64
- Сравнение Base64
- Разбиение Base64
- Base64 — объединение строк
- Форматирование Base64
- Валидация Base64
- Пакетное кодирование Base64
- Пакетное декодирование Base64
- Очистка Base64
- Обработка заполнения Base64
- Base64 в Hex
- Преобразователь Base64 DataURL
- Base64-Hex конвертер
- Base85 Кодирование
- Генератор и верификатор HMAC
- PBKDF2
- Хеш MD5
- SHA-256 хэш
- SHA1 хеш
- Хеш SHA512
- JWT
- HTML Кодирование
- Unicode экранирование
- URL-кодирование
- Base64 URL-Safe
- MIME Base64
- Обфускация Java
- Обфускация JS
- Обфускация PHP
- Обфускация Python
- Статистика длины Base64