Кодувальник/Декодувальник Base64

Безкоштовний онлайн-кодувальник/декодувальник Base64 для швидкого кодування та декодування, з підтримкою UTF-8, конверсією, безпечною для URL, автоматичним доповненням, статистикою в реальному часі та функцією безпечного копіювання. Надає багатомовні приклади коду, генерацію Data URI, детальні посібники з використання та поширені запитання. Зручний інтерфейс з двонаправленим заповненням полів для введення, доступністю з клавіатури та дизайном, адаптованим для мобільних пристроїв. Не потрібно завантажувати, працює безпосередньо у вашому браузері.

Кодувати (Текст → Base64)

Декодувати (Base64 → Текст)

Як використовувати

Base64 кодує двійкові дані в ASCII для безпечної передачі та зберігання. Розмір збільшується приблизно на 33%.
Кодування: Перетворіть звичайний текст у Base64 для безпечної передачі.
Декодування: Відновіть оригінальний текст з рядка Base64.

Можливості

  • Безпека UTF-8: Коректно обробляє не-ASCII символи (загорнуте в encodeURIComponent/unescape).
  • Підтримка URL-безпеки: Перемикання між + / → - в одному кліку, опціональне видалення заповнювача =.
  • Передобробка перед декодуванням: Ігнорує пробіли, автоматично конвертує в URL-безпечний формат та додає заповнювач =.
  • Взаємодія в реальному часі: Введення обробляється миттєво, з відображенням статистики довжини та швидкості зростання.
  • Зручність використання: Швидке копіювання, двостороннє заповнення між полями, доступність через клавіатуру, адаптованість для мобільних пристроїв.
  • Консистентна тема: Без класів Tailwind dark: — повністю стилізовано за допомогою тем DaisyUI.

Швидкі приклади

Оригінальний текст:
Hello, World!
Base64:
SGVsbG8sIFdvcmxkIQ==

Що таке Base64?

Base64 — це метод кодування двійкових даних у текст ASCII, який часто використовується для передачі зображень або вмісту файлів через текстові протоколи, такі як JSON, XML та HTTP.

Він відображує кожні 3 байти на 4 друкованих символи, що зазвичай призводить до збільшення розміру приблизно на 33%.

Стандартний Base64 використовує A–Z, a–z, 0–9, +, / та заповнювач =; URL-безпечний варіант замінює + та / на - та _ щоб уникнути проблем з екрануванням у URL.

Поширені сценарії використання

  • Вбудовуйте зображення або маленькі файли як Data URI.
  • Передавайте двійкові дані між клієнтом та сервером (наприклад, зашифрований шифротекст, стиснені потоки).
  • Перетворюйте текст у друкований формат, щоб уникнути невідповідностей кодування або невидимих символів.

Поширені запитання та важливі нотатки

  • Набір символів: У веб-середовищах спочатку кодуйте текст як UTF-8 (цей інструмент виконує цей крок автоматично).
  • URL-безпечний: Для параметрів або шляхів URL краще використовувати URL-безпечний варіант та розглянути можливість видалення символів заповнювача.
  • Заповнювач: Деякі реалізації дозволяють не вказувати =; під час декодування автоматично доповнюють до кратності 4 символів.
  • Розриви рядків: MIME Base64 може включати розриви рядків; виберіть «Ігнорувати пробіли» під час декодування для їх обробки.

Як кодувати/декодувати Base64 у мовах програмування

JavaScript
Текст → Base64 (безпечний для UTF-8)
const encoded = btoa(unescape(encodeURIComponent(text)));
// Безпечний для URL
const urlSafe = encoded.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/g, '');
Декодувати (Base64 → Текст)
// Передобробка: Замінити -_ на +/
let b64 = input.replace(/-/g, '+').replace(/_/g, '/');
if (b64.length % 4 !== 0) b64 = b64.padEnd(b64.length + (4 - (b64.length % 4)), '=');
const text = decodeURIComponent(escape(atob(b64)));
PHP
Кодувати (Текст → Base64)
$encoded = base64_encode($text);
// Безпечний для URL
$urlSafe = rtrim(strtr($encoded, '+/', '-_'), '=');
Декодувати (Base64 → Текст)
$b64 = strtr($input, '-_', '+/');
// Автоматичне доповнення символом '='
if (strlen($b64) % 4 !== 0) $b64 .= str_repeat('=', 4 - (strlen($b64) % 4));
$text = base64_decode($b64);
Python
Кодувати (Текст → Base64)
import base64

encoded = base64.b64encode(text.encode('utf-8')).decode('ascii')
# Кодування безпечне для URL (прибрати доповнення)
url_safe = encoded.replace('+','-').replace('/','_').rstrip('=')
Декодувати (Base64 → Текст)
import base64

def b64_decode(s: str) -> str:
    s = s.replace('-','+').replace('_','/')
    s += '=' * (-len(s) % 4)  # Автоматичне доповнення символом '='
    return base64.b64decode(s).decode('utf-8')
Go
Кодувати (Текст → Base64)
import (
    "encoding/base64"
)

enc := base64.StdEncoding.EncodeToString([]byte(text))
// Кодування безпечне для URL (без доповнення)
urlEnc := base64.RawURLEncoding.EncodeToString([]byte(text))
Декодувати (Base64 → Текст)
import (
    "encoding/base64"
)

decBytes, err := base64.StdEncoding.DecodeString(enc)
// Декодування безпечне для URL (без доповнення)
decURL, err2 := base64.RawURLEncoding.DecodeString(urlEnc)
Rust
Кодувати (Текст → Base64)
use base64::{engine::general_purpose, Engine as _};

let enc = general_purpose::STANDARD.encode(text.as_bytes());
// Кодування безпечне для URL (без доповнення)
let url_enc = general_purpose::URL_SAFE_NO_PAD.encode(text.as_bytes());
Декодувати (Base64 → Текст)
use base64::{engine::general_purpose, Engine as _};

let dec_bytes = general_purpose::STANDARD.decode(&enc).unwrap();
let dec = String::from_utf8(dec_bytes).unwrap();

let url_dec = String::from_utf8(
    general_purpose::URL_SAFE_NO_PAD.decode(&url_enc).unwrap()
).unwrap();
Залежність Cargo: base64 = "0.22"
Java
Кодувати (Текст → Base64)
import java.nio.charset.StandardCharsets;
import java.util.Base64;

String enc = Base64.getEncoder().encodeToString(text.getBytes(StandardCharsets.UTF_8));
// Кодування безпечне для URL (без доповнення)
String urlEnc = Base64.getUrlEncoder().withoutPadding().encodeToString(text.getBytes(StandardCharsets.UTF_8));
Декодувати (Base64 → Текст)
import java.nio.charset.StandardCharsets;
import java.util.Base64;

String dec = new String(Base64.getDecoder().decode(enc), StandardCharsets.UTF_8);
String urlDec = new String(Base64.getUrlDecoder().decode(urlEnc), StandardCharsets.UTF_8);

Приклади Data URI

Вбудовуйте зображення або маленькі файли як Data URI:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...

Примітка: Не використовуйте Data URI для великих файлів, оскільки це значно збільшує розмір HTML/JSON та погіршує продуктивність.