w

Справочник API

Техническая справка по операциям кодирования и декодирования Base64.

Алгоритм Base64

Набор символов

Base64 использует 64 символа для представления двоичных данных:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

Процесс кодирования

  1. Ввод: Двоичные данные или текст
  2. Группировка: Группировка в блоки по 3 байта (24 бита)
  3. Преобразование: Преобразование каждой группы 24 бит в 4 символа Base64
  4. Заполнение: Добавление заполнения при необходимости

Процесс декодирования

  1. Ввод: Строка, закодированная в Base64
  2. Валидация: Проверка действительного формата Base64
  3. Преобразование: Преобразование групп из 4 символов в блоки по 3 байта
  4. Вывод: Исходные двоичные данные или текст

Форматы вывода

Стандартный 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.

Была ли эта страница полезной?