Base64 Encoder & Decoder

Μετατρέψτε κείμενο και αρχεία σε Base64 και αντίστροφα. Χειρίζεται σωστά το Unicode, υποστηρίζει το URL-safe base64url και σας λέει ακριβώς γιατί αποτυγχάνει μια μη έγκυρη είσοδος.

Τρέχει στον browser σαςΧωρίς εγγραφήΤίποτα δεν ανεβαίνει

Έξοδος Base64

Πώς να χρησιμοποιήσετε: Base64 κωδικοποίηση / αποκωδικοποίηση

  1. Επιλέξτε Κωδικοποίηση ή Αποκωδικοποίηση.
  2. Πληκτρολογήστε ή επικολλήστε την είσοδο. Το αποτέλεσμα ενημερώνεται καθώς πληκτρολογείτε.
  3. Για URLs, JWT και ονόματα αρχείων, τσεκάρετε URL-safe ώστε να χρησιμοποιούνται τα - και _, και προαιρετικά αφαιρέστε τη συμπλήρωση =.
  4. Για να ενσωματώσετε μια εικόνα ή γραμματοσειρά, πατήστε Κωδικοποίηση αρχείου και αφήστε τσεκαρισμένο το Έξοδος ως data URI.
  5. Αντιγράψτε το αποτέλεσμα ή χρησιμοποιήστε την Εναλλαγή για να το περάσετε ξανά προς την αντίθετη κατεύθυνση.

Πώς λειτουργεί το Base64

Το Base64 αναπαριστά δυαδικά δεδομένα με 64 εκτυπώσιμους χαρακτήρες ASCII: A-Z, a-z, 0-9, + και /. Κάθε 3 bytes εισόδου γίνονται 4 χαρακτήρες, οπότε τα κωδικοποιημένα δεδομένα είναι περίπου 33% μεγαλύτερα. Όταν το μήκος της εισόδου δεν είναι πολλαπλάσιο του 3, ένα ή δύο σύμβολα = συμπληρώνουν την έξοδο. Το Base64 είναι κωδικοποίηση, όχι κρυπτογράφηση: οποιοσδήποτε μπορεί να το αποκωδικοποιήσει.

Κανονικό Base64 και base64url

Οι χαρακτήρες + και / έχουν ειδική σημασία σε URLs και διαδρομές αρχείων. Το URL-safe αλφάβητο του RFC 4648 §5 τους αντικαθιστά με - και _ και συνήθως παραλείπει τη συμπλήρωση. Τα JWT, πολλές παράμετροι OAuth και ορισμένα cloud APIs χρησιμοποιούν base64url. Ο decoder εδώ δέχεται αυτόματα και τα δύο αλφάβητα.

Unicode και η παγίδα του btoa()

Στους browsers, το btoa("café") δουλεύει αλλά το btoa("日本") πετάει σφάλμα, επειδή το btoa δέχεται μόνο Latin-1. Η σωστή προσέγγιση είναι να κωδικοποιήσετε πρώτα το κείμενο σε bytes UTF-8, όπως κάνει αυτό το εργαλείο. Σε JavaScript: btoa(String.fromCharCode(...new TextEncoder().encode(text))), ή Buffer.from(text).toString('base64') στο Node.js.

Συνηθισμένες χρήσεις

  • Data URIs για μικρές εικόνες και γραμματοσειρές σε CSS ή HTML
  • Headers HTTP Basic authentication (κωδικοποιημένο user:password)
  • Δυαδικά συνημμένα σε JSON payloads και email (MIME)
  • Kubernetes Secrets, που αποθηκεύουν τις τιμές ως Base64

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

Είναι το Base64 κρυπτογράφηση;
Όχι. Το Base64 είναι αναστρέψιμη κωδικοποίηση χωρίς κλειδί. Οποιοσδήποτε μπορεί να το αποκωδικοποιήσει, οπότε μην το χρησιμοποιείτε ποτέ για να κρύψετε κωδικούς ή μυστικά.
Γιατί αποτυγχάνει η αποκωδικοποίηση του Base64 μου;
Συνηθισμένες αιτίες είναι χαρακτήρες εκτός αλφαβήτου (συχνά ένα ξεχασμένο εισαγωγικό ή αλλαγή γραμμής από την αντιγραφή), ένα κομμένο string ή ανάμειξη με κείμενο που δεν είναι Base64. Το μήνυμα σφάλματος δείχνει τη θέση του πρώτου προβλήματος.
Η αποκωδικοποιημένη έξοδος μοιάζει με σκουπίδια. Γιατί;
Τα δεδομένα είναι πιθανότατα δυαδικά, για παράδειγμα μια εικόνα, ένα συμπιεσμένο αρχείο ή κρυπτογραφημένα bytes, και όχι κείμενο. Το εργαλείο το εντοπίζει, εμφανίζει ένα hex dump και σας επιτρέπει να κατεβάσετε τα ακατέργαστα bytes.
Χρειάζομαι τη συμπλήρωση =;
Πολλοί decoders, μαζί και αυτός, δουλεύουν χωρίς αυτήν, επειδή το μήκος τους δείχνει πόσα bytes λείπουν. Κάποιοι αυστηροί decoders την απαιτούν. Τα JWT και οι περισσότερες χρήσεις base64url παραλείπουν τη συμπλήρωση.
Ανεβαίνουν τα αρχεία μου;
Όχι. Τα αρχεία διαβάζονται και κωδικοποιούνται τοπικά με το File API του browser. Τίποτα δεν αποστέλλεται σε server.

Σχετικά εργαλεία