Справочник API
Техническая справка по операциям кодирования и декодирования Base64.
Алгоритм Base64
Набор символов
Base64 использует 64 символа для представления двоичных данных:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
Процесс кодирования
- Ввод: Двоичные данные или текст
- Группировка: Группировка в блоки по 3 байта (24 бита)
- Преобразование: Преобразование каждой группы 24 бит в 4 символа Base64
- Заполнение: Добавление заполнения при необходимости
Процесс декодирования
- Ввод: Строка, закодированная в Base64
- Валидация: Проверка действительного формата Base64
- Преобразование: Преобразование групп из 4 символов в блоки по 3 байта
- Вывод: Исходные двоичные данные или текст
Форматы вывода
Стандартный Base64
- Формат: Традиционное кодирование Base64
- Заполнение: Использует
=
для заполнения - Символы: A-Z, a-z, 0-9, +, /
- Случай использования: Общее кодирование
Пример:
Ввод: "Hello"
Вывод: "SGVsbG8="
URL-безопасный Base64
- Формат: Модифицированный Base64 для URL
- Заполнение: Без символов заполнения
- Символы: A-Z, a-z, 0-9, -, _
- Случай использования: Параметры URL, имена файлов
Пример:
Ввод: "Hello"
Вывод: "SGVsbG8"
Base64 без заполнения
- Формат: Стандартный Base64 без заполнения
- Заполнение: Без символов заполнения
- Символы: A-Z, a-z, 0-9, +, /
- Случай использования: Определенные приложения
Пример:
Ввод: "Hello"
Вывод: "SGVsbG8"
Кодировка символов
UTF-8 (Рекомендуется)
- Стандарт: Формат преобразования Unicode
- Поддержка: Все символы Unicode
- Совместимость: Широкая поддержка
- Случай использования: Международный текст
ASCII
- Диапазон: Символы 0-127
- Поддержка: Только основные латинские символы
- Совместимость: Универсальная поддержка
- Случай использования: Только английский текст
Latin-1 (ISO-8859-1)
- Диапазон: Символы 0-255
- Поддержка: Западноевропейские символы
- Совместимость: Хорошая поддержка
- Случай использования: Европейские языки
Обработка файлов
Поддерживаемые типы файлов
- Изображения: PNG, JPEG, GIF, WebP, SVG, BMP
- Документы: PDF, DOC, DOCX, TXT, RTF
- Архивы: ZIP, RAR, 7Z, TAR, GZ
- Аудио: MP3, WAV, OGG, FLAC
- Видео: MP4, AVI, MOV, WMV
- Любые двоичные файлы: Поддерживаются все типы файлов
Ограничения размера файла
- Максимальный размер: 10MB на файл
- Использование памяти: Оптимизировано для больших файлов
- Обработка: Блочная обработка для эффективности
Обработка ошибок
Общие ошибки
- Неверный Base64: Неправильно сформированная строка Base64
- Файл слишком большой: Превышает ограничения размера
- Неподдерживаемый формат: Неверный тип файла
- Ошибка кодирования: Проблемы с кодировкой символов
Сообщения об ошибках
- Удобно для пользователя: Четкие описания ошибок
- Действенно: Предлагает решения
- Нетехнично: Легко понять
- Полезно: Предоставляет руководство
Спецификации производительности
Скорость обработки
- Текст: Обработка в реальном времени
- Маленькие файлы: < 1 секунды
- Большие файлы: Зависит от размера и сложности
- Оптимизация: Использует эффективные алгоритмы
Использование памяти
- Минимальное: Низкое потребление памяти
- Эффективное: Оптимизировано для производительности
- Очистка: Автоматическое управление памятью
- Ограничения: Соблюдает ограничения браузера
Совместимость браузера
Поддерживаемые браузеры
- Chrome: Полная поддержка
- Firefox: Полная поддержка
- Safari: Полная поддержка
- Edge: Полная поддержка
- Мобильные: iOS Safari, Chrome Mobile
Требуемые функции
- File API: Для загрузки файлов
- Clipboard API: Для функциональности копирования
- ES6+: Современные функции JavaScript
- Web Workers: Для обработки больших файлов
Примеры интеграции
JavaScript
// Кодирование
const encoded = btoa('Hello World');
console.log(encoded); // "SGVsbG8gV29ybGQ="
// Декодирование
const decoded = atob('SGVsbG8gV29ybGQ=');
console.log(decoded); // "Hello World"
Python
import base64
# Кодирование
encoded = base64.b64encode(b'Hello World').decode('utf-8')
print(encoded) # "SGVsbG8gV29ybGQ="
# Декодирование
decoded = base64.b64decode('SGVsbG8gV29ybGQ=').decode('utf-8')
print(decoded) # "Hello World"
PHP
// Кодирование
$encoded = base64_encode('Hello World');
echo $encoded; // "SGVsbG8gV29ybGQ="
// Декодирование
$decoded = base64_decode('SGVsbG8gV29ybGQ=');
echo $decoded; // "Hello World"
Этот справочник API предоставляет техническую основу для понимания и эффективной реализации операций Base64.