Κωδικοποιητής/Αποκωδικοποιητής Base64

Ο κωδικοποιητής/αποκωδικοποιητής Base64 που διαθέτουμε μετατρέπει κείμενο σε κωδικοποίηση Base64 και αντίστροφα σε πραγματικό χρόνο. Επικολλήστε οποιοδήποτε κείμενο και λάβετε την κωδικοποιημένη έκδοση Base64, ή επικολλήστε Base64 για να το αποκωδικοποιήσετε ξανά σε αναγνώσιμο κείμενο. Υποστηρίζει τυπικό Base64 (RFC 4648) και URL-safe Base64. Διαχειρίζεται χαρακτήρες UTF-8, συμβολοσειρές JSON και μεγάλα κείμενα. Όλη η επεξεργασία γίνεται στην πλευρά του χρήστη (client-side) — τα δεδομένα σας δεν φεύγουν ποτέ από το πρόγραμμα περιήγησής σας.

star 4.9
auto_awesome AI
New

Κωδικοποιητής Base64 calculator

0 characters
0 characters

lightbulb Tips

  • Base64 output is always ~33% larger than input
  • URL-safe Base64 uses - and _ instead of + and /
  • Base64 is encoding, NOT encryption
  • 3 input bytes = 4 Base64 characters

How to Use the Κωδικοποιητής Base64

swap_horiz

Επιλέξτε Λειτουργία

Επιλέξτε Κωδικοποίηση για να μετατρέψετε κείμενο σε Base64, ή Αποκωδικοποίηση για να μετατρέψετε το Base64 ξανά σε κείμενο.

text_fields

Εισαγωγή Δεδομένων

Πληκτρολογήστε ή επικολλήστε το κείμενό σας (για κωδικοποίηση) ή τη συμβολοσειρά Base64 (για αποκωδικοποίηση).

content_copy

Λήψη Αποτελέσματος

Το αποτέλεσμα εμφανίζεται αμέσως. Κάντε κλικ στο Αντιγραφή για να το αντιγράψετε στο πρόχειρο.

link

Επιλογή URL-Safe

Ενεργοποιήστε τη λειτουργία URL-safe για να χρησιμοποιήσετε τους χαρακτήρες - και _ αντί για + και / για έξοδο συμβατή με URL.

The Formula

Η κωδικοποίηση Base64 μετατρέπει τα δυαδικά δεδομένα σε εκτυπώσιμο κείμενο ASCII, χωρίζοντας τα byte εισόδου σε ομάδες των 6 bit και αντιστοιχίζοντας κάθε ομάδα σε έναν από τους 64 χαρακτήρες (A-Z, a-z, 0-9, +, /). Εφόσον 3 byte (24 bit) αντιστοιχίζονται σε 4 χαρακτήρες Base64, η έξοδος είναι περίπου 33% μεγαλύτερη από την είσοδο. Προστίθεται συμπλήρωση (=) εάν το μήκος της εισόδου δεν είναι πολλαπλάσιο του 3.

Base64 = encode(input bytes) → 6-bit groups → A-Za-z0-9+/ alphabet

lightbulb Variables Explained

  • input bytes Κωδικοποιημένα byte UTF-8 του κειμένου εισόδου
  • 6-bit groups Διαχωρισμός εισόδου σε τμήματα των 6 bit (έναντι byte των 8 bit)
  • A-Za-z0-9+/ 64 εκτυπώσιμοι χαρακτήρες ASCII που χρησιμοποιούνται στο αλφάβητο κωδικοποίησης
  • = (padding) Χαρακτήρας συμπλήρωσης που προστίθεται για να γίνει το μήκος εξόδου πολλαπλάσιο του 4

tips_and_updates Pro Tips

1

Το αποτέλεσμα Base64 είναι πάντα ~33% μεγαλύτερο από την είσοδο

2

Το URL-safe Base64 αντικαθιστά το + με - και το / με _ (χρήσιμο για URL και ονόματα αρχείων)

3

Το Base64 είναι κωδικοποίηση, ΟΧΙ κρυπτογράφηση — οποιοσδήποτε μπορεί να το αποκωδικοποιήσει, επομένως μην το χρησιμοποιείτε ποτέ για ασφάλεια

4

Χρησιμοποιήστε το Base64 για να ενσωματώσετε μικρές εικόνες σε HTML/CSS μέσω data URIs

5

Τα JSON Web Tokens (JWT) χρησιμοποιούν κωδικοποίηση URL-safe Base64 για την κεφαλίδα και το ωφέλιμο φορτίο (payload)

6

Το padding με = στο τέλος μπορεί να αφαιρεθεί με ασφάλεια για το URL-safe Base64

7

Το Base64 διαχειρίζεται δυαδικά δεδομένα — έτσι μεταδίδονται τα συνημμένα αρχεία email

Ο δωρεάν μετατροπέας κωδικοποίησης και αποκωδικοποίησης Base64 μετατρέπει κείμενο σε Base64 και αντίστροφα αμέσως. Υποστηρίζει τυπικό και URL-safe Base64, χαρακτήρες UTF-8 και μεγάλα κείμενα. Όλη η επεξεργασία γίνεται στο πρόγραμμα περιήγησής σας — τα δεδομένα σας παραμένουν ιδιωτικά.

Κωδικοποιητής Base64 - Κείμενο σε Base64

Μετατρέψτε οποιοδήποτε κείμενο σε κωδικοποίηση Base64 αμέσως. Ο κωδικοποιητής μας υποστηρίζει χαρακτήρες UTF-8, συμβολοσειρές JSON, HTML και οποιαδήποτε είσοδο κειμένου.

Αντιγράψτε την έξοδο Base64 για χρήση σε:

  • APIs
  • data URIs
  • κωδικοποίηση email
  • αρχεία ρυθμίσεων

Αποκωδικοποιητής Base64 - Base64 σε Κείμενο

Αποκωδικοποιήστε οποιαδήποτε συμβολοσειρά Base64 ξανά σε αναγνώσιμο κείμενο. Επικολλήστε περιεχόμενο κωδικοποιημένο σε Base64 και δείτε το αρχικό κείμενο αμέσως.

Υποστηρίζει:

  • τυπικό Base64
  • URL-safe Base64
  • Base64 με ή χωρίς χαρακτήρες συμπλήρωσης

Πώς λειτουργεί η κωδικοποίηση Base64;

Η κωδικοποίηση Base64 λειτουργεί μετατρέποντας δυαδικά δεδομένα σε ένα σύνολο 64 εκτυπώσιμων χαρακτήρων ASCII, όπως ορίζεται στο RFC 4648 της IETF.

Ο αλγόριθμος λαμβάνει τα byte εισόδου και τα αναδιοργανώνει από byte των 8 bit σε τμήματα των 6 bit, καθώς το 2 στην έκτη δύναμη ισούται με ακριβώς 64 πιθανές τιμές. Κάθε ομάδα των 6 bit αντιστοιχίζεται σε έναν χαρακτήρα στο αλφάβητο A-Z, a-z, 0-9, συν (+) και κάθετο (/).

Επειδή κάθε 3 byte εισόδου (24 bit) γίνονται 4 χαρακτήρες εξόδου, το κωδικοποιημένο κείμενο είναι περίπου 33 τοις εκατό μεγαλύτερο από το αρχικό. Όταν το μήκος της εισόδου δεν είναι πολλαπλάσιο του 3, προστίθενται ένα ή δύο σύμβολα ισότητας ως συμπλήρωση, σύμφωνα με τις προδιαγραφές του RFC 4648.

Είναι η Base64 κρυπτογράφηση ή κωδικοποίηση;

Η Base64 είναι κωδικοποίηση, όχι κρυπτογράφηση, και παρέχει μηδενική ασφάλεια ή εμπιστευτικότητα. Οποιοσδήποτε μπορεί να αποκωδικοποιήσει μια συμβολοσειρά Base64 αμέσως, καθώς δεν εμπλέκεται κανένα μυστικό κλειδί και η αναστρέψιμη αντιστοίχιση είναι δημόσια τεκμηριωμένη στο RFC 4648.

Ο οργανισμός OWASP προειδοποιεί ρητά ότι η Base64 δεν αποτελεί υποκατάστατο της κρυπτογραφίας και δεν πρέπει ποτέ να χρησιμοποιείται για την προστασία κωδικών πρόσβασης, διακριτικών ή προσωπικών δεδομένων. Ο μόνος σκοπός της είναι η ασφαλής μεταφορά δυαδικών δεδομένων μέσω καναλιών που υποστηρίζουν μόνο κείμενο, όπως email, URL και JSON.

Για πραγματική εμπιστευτικότητα, χρησιμοποιήστε τυποποιημένη κρυπτογράφηση όπως το AES-256, όπως συνιστάται από το NIST, και για ακεραιότητα χρησιμοποιήστε κατακερματισμό όπως το SHA-256. Αντιμετωπίστε οποιαδήποτε συμβολοσειρά Base64 στα αρχεία καταγραφής σας ως πλήρως αναγνώσιμο απλό κείμενο.

Τι είναι η κωδικοποίηση URL-Safe Base64;

Η URL-safe Base64 είναι μια παραλλαγή που ορίζεται στην Ενότητα 5 του RFC 4648, η οποία αντικαθιστά τον χαρακτήρα συν με μια παύλα (-) και τον χαρακτήρα της καθέτου με μια κάτω παύλα (_).

Αυτή η αντικατάσταση είναι σημαντική επειδή το συν και η κάθετος έχουν δεσμευμένες σημασίες στα URL και στις διαδρομές αρχείων, όπου μπορεί να παρερμηνευθούν ή να απαιτούν κωδικοποίηση ποσοστού. Το αλφάβητο URL-safe επιτρέπει στις κωδικοποιημένες τιμές να μεταφέρονται μέσα σε συμβολοσειρές ερωτημάτων, τμήματα διαδρομής και ονόματα αρχείων χωρίς αλλοίωση.

Τα σύμβολα ισότητας για τη συμπλήρωση συχνά παραλείπονται σε αυτό το πλαίσιο, καθώς ένας αποκωδικοποιητής μπορεί να συμπεράνει το αρχικό μήκος. Τα JSON Web Tokens, που περιγράφονται στο RFC 7519, βασίζονται σε αυτήν την κωδικοποίηση base64url για τα τμήματα της κεφαλίδας και του ωφέλιμου φορτίου τους, γι' αυτό και οι συμβολοσειρές JWT δεν περιέχουν ποτέ χαρακτήρες συν ή κάθετο.

Γιατί η κωδικοποίηση Base64 αυξάνει το μέγεθος του αρχείου κατά 33 τοις εκατό;

Η κωδικοποίηση Base64 αυξάνει το μέγεθος των δεδομένων κατά περίπου 33 τοις εκατό επειδή αναπαριστά κάθε 3 byte εισόδου χρησιμοποιώντας 4 χαρακτήρες εξόδου.

Τρία byte περιέχουν 24 bit, και η Base64 χωρίζει αυτά τα 24 bit σε τέσσερις ομάδες των 6 bit, οπότε η αναλογία χαρακτήρων 4 προς 3 προσθέτει το ένα τρίτο στο μήκος, όπως ορίζεται στο RFC 4648. Το padding (συμπλήρωση) προσθέτει έως και δύο επιπλέον χαρακτήρες στο τελικό μπλοκ.

Αυτή η επιβάρυνση είναι ένας σκόπιμος συμβιβασμός για τη συμβατότητα με ASCII: τα δυαδικά δεδομένα που θα προκαλούσαν πρόβλημα στο email ή στο JSON γίνονται απολύτως ασφαλή ως κείμενο. Σύμφωνα με το MDN Web Docs, αυτός είναι ο λόγος για τον οποίο η ενσωμάτωση εικόνων ως Base64 data URIs καθιστά τα αρχεία HTML και CSS αισθητά μεγαλύτερα σε σύγκριση με την απευθείας σύνδεση με το αρχικό δυαδικό αρχείο.

Πώς να κωδικοποιήσετε αρχεία και εικόνες σε Base64

Για να κωδικοποιήσετε ένα αρχείο ή μια εικόνα σε Base64, τα ακατέργαστα byte διαβάζονται και περνούν μέσα από τον τυπικό αλγόριθμο RFC 4648, παράγοντας μια συμβολοσειρά κειμένου που μπορείτε να ενσωματώσετε απευθείας στον κώδικα.

Μια κοινή χρήση είναι το σχήμα data URI που τεκμηριώνεται από το MDN Web Docs, όπου μια εικόνα γίνεται μια αυτόνομη τιμή src, όπως data:image/png;base64 ακολουθούμενη από τα κωδικοποιημένα byte. Αυτό εξαλείφει την ανάγκη για ξεχωριστό αίτημα HTTP, γεγονός που μπορεί να επιταχύνει τη φόρτωση μικροσκοπικών εικονιδίων.

Ωστόσο, επειδή η Base64 προσθέτει 33 τοις εκατό στο μέγεθος και δεν μπορεί να αποθηκευτεί ξεχωριστά στην προσωρινή μνήμη (cache), είναι προτιμότερο να χρησιμοποιείται μόνο για πολύ μικρά στοιχεία. Οι μεγαλύτερες εικόνες, οι γραμματοσειρές και τα αρχεία PDF συνήθως παρέχονται ως κανονικά δυαδικά αρχεία και όχι ως ενσωματωμένη Base64.

Πώς διαχειρίζεται η Base64 τους χαρακτήρες UTF-8 και Unicode;

Η Base64 διαχειρίζεται το Unicode μετατρέποντας πρώτα το κείμενο σε byte UTF-8 και στη συνέχεια κωδικοποιώντας αυτά τα byte με το τυπικό αλφάβητο Base64. Η ίδια η Base64 λειτουργεί μόνο με ακατέργαστα byte, επομένως το βήμα κωδικοποίησης χαρακτήρων πραγματοποιείται πριν από την κωδικοποίηση και μετά την αποκωδικοποίηση.

Το UTF-8, το οποίο ορίζεται στο RFC 3629 και διατηρείται παράλληλα με το Πρότυπο Unicode από την Κοινοπραξία Unicode, αναπαριστά emoji, ιδεογράμματα CJK και τονισμένα γράμματα ως ακολουθίες πολλαπλών byte, τις οποίες η Base64 διατηρεί στη συνέχεια ακριβώς. Αυτή η διαδικασία δύο βημάτων είναι ο λόγος για τον οποίο το εργαλείο μας μετατρέπει σωστά χαρακτήρες όπως το σύμβολο του ευρώ ή ένα emoji χωρίς απώλειες.

Στην JavaScript, το MDN Web Docs επισημαίνει ότι η παλαιότερη συνάρτηση btoa δέχεται μόνο Latin-1, επομένως ο σύγχρονος κώδικας κωδικοποιεί σε byte UTF-8 με το TextEncoder πριν καλέσει τη btoa.

Σε τι χρησιμεύει η Base64 σε πραγματικές εφαρμογές;

Η Base64 χρησιμοποιείται όπου τα δυαδικά δεδομένα πρέπει να μεταφερθούν μέσω συστημάτων που υποστηρίζουν μόνο κείμενο.

  • Τα συνημμένα αρχεία email κωδικοποιούνται σε Base64 σύμφωνα με το πρότυπο MIME που ορίζεται στο RFC 2045, επιτρέποντας έτσι σε εικόνες και έγγραφα να μεταδίδονται με ασφάλεια μέσω συστημάτων απλού κειμένου.
  • Οι ιστοσελίδες ενσωματώνουν μικρές εικόνες και γραμματοσειρές ως Base64 data URIs, όπως τεκμηριώνεται από το MDN Web Docs.
  • Τα JSON Web Tokens σύμφωνα με το RFC 7519 κωδικοποιούν τα claims τους ως συμβολοσειρές base64url, και το HTTP Basic Authentication, που περιγράφεται στο RFC 7617, κωδικοποιεί σε Base64 το ζεύγος ονόματος χρήστη και κωδικού πρόσβασης.
  • Η Base64 εμφανίζεται επίσης σε ωφέλιμα φορτία API, πιστοποιητικά TLS σε μορφή PEM και αρχεία ρυθμίσεων.

Σε κάθε περίπτωση, ο στόχος είναι η ασφαλής μεταφορά χωρίς απώλειες και όχι η συμπίεση ή η ασφάλεια.

Συνήθη λάθη κατά την κωδικοποίηση και αποκωδικοποίηση Base64

Το πιο συνηθισμένο λάθος με την Base64 είναι να αντιμετωπίζεται ως μέτρο ασφαλείας, τη στιγμή που το RFC 4648 ορίζει μια πλήρως αναστρέψιμη μετατροπή χωρίς κλειδί, την οποία μπορεί να αποκωδικοποιήσει ο καθένας.

  • Ένα άλλο συχνό σφάλμα είναι η ανάμειξη του τυπικού αλφαβήτου με το ασφαλές για URL (URL-safe), προκαλώντας αποτυχίες αποκωδικοποίησης όταν οι χαρακτήρες συν (+) ή κάθετος (/) αντικαθίστανται από παύλα (-) και κάτω παύλα (_).
  • Η απουσία ή η λανθασμένη συμπλήρωση με το σύμβολο του ίσον (=) προκαλεί επίσης προβλήματα σε αυστηρούς αποκωδικοποιητές, αν και πολλοί, συμπεριλαμβανομένων των υλοποιήσεων του MDN Web Docs, ανέχονται την απουσία της.
  • Οι προγραμματιστές συχνά ξεχνούν το βήμα του UTF-8, με αποτέλεσμα να εμφανίζεται ακαταλαβίστικο κείμενο για εισαγωγή χαρακτήρων εκτός ASCII.
  • Τέλος, η κατά λάθος κωδικοποίηση δεδομένων που είναι ήδη σε μορφή Base64 διπλασιάζει την επιβάρυνση.

Η επαλήθευση της ακριβούς παραλλαγής, των κανόνων συμπλήρωσης (padding) και του συνόλου χαρακτήρων σύμφωνα με τις προδιαγραφές του RFC 4648 αποτρέπει σχεδόν όλες αυτές τις αποτυχίες αποκωδικοποίησης.

Base64 έναντι Base32 έναντι Δεκαεξαδικής Κωδικοποίησης

Οι κωδικοποιήσεις Base64, Base32 και η δεκαεξαδική είναι όλες κωδικοποιήσεις δυαδικού κειμένου σε κείμενο που ορίζονται μαζί στο RFC 4648, αλλά προσφέρουν διαφορετικό συμβιβασμό μεταξύ πυκνότητας και αναγνωσιμότητας.

  • Η δεκαεξαδική κωδικοποίηση χρησιμοποιεί 16 χαρακτήρες και διπλασιάζει το μέγεθος των δεδομένων, καθιστώντας την την πιο ευανάγνωστη για τον άνθρωπο και την πιο κοινή σε hashes και κωδικούς χρωμάτων.
  • Η Base32 χρησιμοποιεί 32 χαρακτήρες χωρίς διάκριση πεζών-κεφαλαίων, αυξάνει τα δεδομένα κατά περίπου 60 τοις εκατό και αποφεύγει τα διφορούμενα σύμβολα, κάτι που ταιριάζει σε συστήματα χωρίς διάκριση πεζών-κεφαλαίων και σε μυστικά TOTP.
  • Η Base64 είναι η πιο συμπαγής από τις τρεις, με επιβάρυνση περίπου 33 τοις εκατό, χρησιμοποιώντας 64 χαρακτήρες.

Επιλέξτε τη δεκαεξαδική για αποσφαλμάτωση και σύντομα αναγνωριστικά, την Base32 όταν η διάκριση πεζών-κεφαλαίων αποτελεί πρόβλημα, και την Base64 όταν η συμπαγής μορφή είναι το πιο σημαντικό στοιχείο, όπως καθιστά σαφές η καθοδήγηση του IETF στο RFC 4648.

Frequently Asked Questions

sell

Tags