w

Referensi API

Referensi teknis untuk operasi encoding dan decoding Base64.

Algoritma Base64

Set Karakter

Base64 menggunakan 64 karakter berbeda untuk merepresentasikan data biner:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

Proses Encoding

  1. Input: Data biner atau teks
  2. Pengelompokan: Kelompokkan menjadi blok 3-byte (24-bit)
  3. Konversi: Konversi setiap grup 24-bit menjadi 4 karakter Base64
  4. Padding: Tambahkan padding sesuai kebutuhan

Proses Decoding

  1. Input: String yang di-encode Base64
  2. Validasi: Periksa format Base64 yang valid
  3. Konversi: Konversi grup 4-karakter menjadi blok 3-byte
  4. Output: Data biner atau teks asli

Format Output

Base64 Standar

  • Format: Encoding Base64 tradisional
  • Padding: Menggunakan = untuk padding
  • Karakter: A-Z, a-z, 0-9, +, /
  • Kasus penggunaan: Encoding umum

Contoh:

Input: "Hello"
Output: "SGVsbG8="

Base64 URL Safe

  • Format: Base64 yang dimodifikasi untuk URL
  • Padding: Tanpa karakter padding
  • Karakter: A-Z, a-z, 0-9, -, _
  • Kasus penggunaan: Parameter URL, nama file

Contoh:

Input: "Hello"
Output: "SGVsbG8"

Base64 Tanpa Padding

  • Format: Base64 standar tanpa padding
  • Padding: Tanpa karakter padding
  • Karakter: A-Z, a-z, 0-9, +, /
  • Kasus penggunaan: Aplikasi tertentu

Contoh:

Input: "Hello"
Output: "SGVsbG8"

Encoding Karakter

UTF-8 (Direkomendasikan)

  • Standar: Unicode Transformation Format
  • Dukungan: Semua karakter Unicode
  • Kompatibilitas: Didukung secara luas
  • Kasus penggunaan: Teks internasional

ASCII

  • Rentang: Karakter 0-127
  • Dukungan: Hanya karakter Latin dasar
  • Kompatibilitas: Dukungan universal
  • Kasus penggunaan: Hanya teks bahasa Inggris

Latin-1 (ISO-8859-1)

  • Rentang: Karakter 0-255
  • Dukungan: Karakter Eropa Barat
  • Kompatibilitas: Dukungan yang baik
  • Kasus penggunaan: Bahasa Eropa

Pemrosesan File

Jenis File yang Didukung

  • Gambar: PNG, JPEG, GIF, WebP, SVG, BMP
  • Dokumen: PDF, DOC, DOCX, TXT, RTF
  • Arsip: ZIP, RAR, 7Z, TAR, GZ
  • Audio: MP3, WAV, OGG, FLAC
  • Video: MP4, AVI, MOV, WMV
  • File biner apa pun: Semua jenis file didukung

Batas Ukuran File

  • Ukuran maksimum: 10MB per file
  • Penggunaan memori: Dioptimalkan untuk file besar
  • Pemrosesan: Pemrosesan blok untuk efisiensi

Penanganan Error

Error Umum

  • Base64 tidak valid: String Base64 yang tidak terbentuk dengan baik
  • File terlalu besar: Melebihi batas ukuran
  • Format tidak didukung: Jenis file tidak valid
  • Error encoding: Masalah encoding karakter

Pesan Error

  • User-friendly: Deskripsi error yang jelas
  • Actionable: Menyarankan solusi
  • Non-teknis: Mudah dipahami
  • Helpful: Memberikan panduan

Spesifikasi Performa

Kecepatan Pemrosesan

  • Teks: Pemrosesan real-time
  • File kecil: < 1 detik
  • File besar: Tergantung pada ukuran dan kompleksitas
  • Optimisasi: Menggunakan algoritma yang efisien

Penggunaan Memori

  • Minimal: Konsumsi memori rendah
  • Efisien: Dioptimalkan untuk performa
  • Cleanup: Manajemen memori otomatis
  • Batas: Menghormati batasan browser

Kompatibilitas Browser

Browser yang Didukung

  • Chrome: Dukungan penuh
  • Firefox: Dukungan penuh
  • Safari: Dukungan penuh
  • Edge: Dukungan penuh
  • Mobile: iOS Safari, Chrome Mobile

Fitur yang Diperlukan

  • File API: Untuk upload file
  • Clipboard API: Untuk fungsi copy
  • ES6+: Fitur JavaScript modern
  • Web Workers: Untuk pemrosesan file besar

Contoh Integrasi

JavaScript

// Encoding
const encoded = btoa('Hello World');
console.log(encoded); // "SGVsbG8gV29ybGQ="

// Decoding
const decoded = atob('SGVsbG8gV29ybGQ=');
console.log(decoded); // "Hello World"

Python

import base64

# Encoding
encoded = base64.b64encode(b'Hello World').decode('utf-8')
print(encoded)  # "SGVsbG8gV29ybGQ="

# Decoding
decoded = base64.b64decode('SGVsbG8gV29ybGQ=').decode('utf-8')
print(decoded)  # "Hello World"

PHP

// Encoding
$encoded = base64_encode('Hello World');
echo $encoded; // "SGVsbG8gV29ybGQ="

// Decoding
$decoded = base64_decode('SGVsbG8gV29ybGQ=');
echo $decoded; // "Hello World"

Referensi API ini menyediakan fondasi teknis untuk memahami dan mengimplementasikan operasi Base64 secara efektif.

Apakah halaman ini membantu?