Base64 Encoder and Decoder

A free online Base64 encoder and decoder for quick encoding and decoding, with convenient features like UTF-8 support, secure copy, and clear.

Κωδικοποίηση (κείμενο → Base64)

Αποκωδικοποίηση (Base64 → κείμενο)

Οδηγίες χρήσης

Το Base64 κωδικοποιεί δεδομένα δυαδικού τύπου σε ASCII για μεταφορά και αποθήκευση. Το μέγεθος αυξάνεται κατά περίπου 33%.
Κωδικοποίηση: Μετατροπή καθαρού κειμένου σε Base64 για ασφαλέστερη μεταφορά.
Αποκωδικοποίηση: Επαναφορά του αρχικού κειμένου από μια συμβολοσειρά Base64.

Χαρακτηριστικά

  • UTF-8 ασφαλές: Σωστή επεξεργασία μη-ASCII χαρακτήρων (χρησιμοποιώντας encodeURIComponent/unescape).
  • Υποστήριξη URL-safe: Αλλαγή με ένα κλικ (+ / → - _) και επιλογή αφαίρεσης συμπληρωματικών =.
  • Προεπεξεργασία αποκωδικοποίησης: Αγνόηση κενών, αυτόματη αναστροφή URL-safe και αυτόματη συμπλήρωση =.
  • Διαδραστικότητα: Αυτόματη επεξεργασία κατά την εισαγωγή, με εμφάνιση μήκους και στατιστικών αύξησης.
  • Χρηστικότητα: Γρήγορη αντιγραφή, αλληλεπίδραση αποτελεσμάτων, πληκτρολόγιο και βελτιστοποιημένο για κινητά.
  • Ομοιομορφία στιλ: Χωρίς Tailwind dark: κλάσεις, πλήρως με DaisyUI theme.

Γρήγορα παραδείγματα

Πρωτότυπο κείμενο:
Hello, World!
Base64:
SGVsbG8sIFdvcmxkIQ==

Τι είναι το Base64

Το Base64 είναι μια μέθοδος κωδικοποίησης δυαδικών δεδομένων σε κείμενο ASCII, που χρησιμοποιείται συχνά για τη μεταφορά εικόνων ή περιεχομένου αρχείων σε κειμενοστροφικά πρωτόκολλα όπως JSON, XML, HTTP.

Αντιστοιχίζει κάθε 3 byte σε 4 εκτυπώσιμους χαρακτήρες, προκαλώντας συνήθως αύξηση μεγέθους κατά περίπου 33%.

Το πρότυπο Base64 χρησιμοποιεί τους χαρακτήρες A–Z a–z 0–9 + / και τον χαρακτήρα πληρωμής =· Η URL-safe παραλλαγή αντικαθιστά τους + και / με - και _ για να αποφύγει προβλήματα διαφυγής σε URLs.

Συχνές χρήσεις

  • Ενσωμάτωση εικόνων ή μικρών αρχείων ως Data URI.
  • Μεταφορά δυαδικών δεδομένων (όπως κρυπτογραφημένα κείμενα ή συμπιεσμένα ρεύματα) μεταξύ frontend και backend.
  • Καθιστώντας κείμενο εκτυπώσιμο, αποφεύγοντας προβλήματα ασυμβατότητας κωδικοποίησης ή μη ορατών χαρακτήρων.

Συχνές ερωτήσεις και σημειώσεις

  • Σύνολο χαρακτήρων: Σε περιβάλλοντα ιστοσελίδων, κωδικοποιήστε πρώτα το κείμενο σε UTF-8 (αυτό το εργαλείο το κάνει αυτόματα).
  • URL-safe: Για παραμέτρους ή διαδρομές URL, προτείνεται η χρήση της URL-safe παραλλαγής και η αφαίρεση των χαρακτήρων πληρωμής.
  • Χαρακτήρες πληρωμής: Μερικές υλοποιήσεις επιτρέπουν την παράλειψη του =, και κατά την αποκωδικοποίηση πρέπει να συμπληρώνονται αυτόματα σε πολλαπλάσια του 4.
  • Διακοπές γραμμής: Το MIME Base64 μπορεί να περιέχει διακοπές γραμμής· για αποκωδικοποίηση, επιλέξτε "Αγνόηση κενών χαρακτήρων".

Πώς να κάνετε κωδικοποίηση/αποκωδικοποίηση Base64 μέσω γλωσσών προγραμματισμού

JavaScript
Κείμενο → Base64 (ασφαλές UTF-8)
const encoded = btoa(unescape(encodeURIComponent(text)));
// URL-safe
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-safe
$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-safe κωδικοποίηση (χωρίς πληρωμή)
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-safe κωδικοποίηση (χωρίς πληρωμή)
urlEnc := base64.RawURLEncoding.EncodeToString([]byte(text))
Αποκωδικοποίηση (Base64 → κείμενο)
import (
    "encoding/base64"
)

decBytes, err := base64.StdEncoding.DecodeString(enc)
// URL-safe αποκωδικοποίηση (χωρίς πληρωμή)
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-safe κωδικοποίηση (χωρίς πληρωμή)
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-safe κωδικοποίηση (χωρίς πληρωμή)
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 και επηρεάζει την απόδοση.