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.
Τι είναι το 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);