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

Διαφήμιση

Εισάγετε κείμενο ή ανεβάστε αρχείο για κωδικοποίηση σε Base64, ή επικολλήστε Base64 για αποκωδικοποίηση.

Είσοδος
Αποθέστε αρχείο εδώ ή κάντε κλικ για αναζήτηση
Έξοδος

Πώς να Χρησιμοποιήσετε

  1. Επιλέξτε λειτουργία Κειμένου ή Αρχείου, μετά εισάγετε κείμενο για κωδικοποίηση ή επικολλήστε Base64 για αποκωδικοποίηση.
  2. Επιλέξτε Κωδικοποίηση ή Αποκωδικοποίηση, και προαιρετικά ενεργοποιήστε URL-safe ή πρόθεμα Data URI για εικόνες.
  3. Αντιγράψτε το κωδικοποιημένο/αποκωδικοποιημένο αποτέλεσμα ή κατεβάστε την έξοδο. Μοιραστείτε μέσω συνδέσμου.
Σας φάνηκε χρήσιμο αυτό το εργαλείο;
Θέλετε να μας πείτε περισσότερα;
0/500
Θέλετε να επικοινωνήσουμε μαζί σας;
Ευχαριστούμε για τα σχόλιά σας!
Διαφήμιση

Σχετικά με αυτό το εργαλείο

Το Base64 είναι ένα σχήμα κωδικοποίησης δυαδικού-σε-κείμενο που αναπαριστά δυαδικά δεδομένα χρησιμοποιώντας ένα σύνολο 64 εκτυπώσιμων χαρακτήρων ASCII. Το σύνολο χαρακτήρων περιλαμβάνει κεφαλαία γράμματα (A-Z), πεζά γράμματα (a-z), ψηφία (0-9) και δύο επιπλέον σύμβολα (+ και /), με το σημείο ισότητας (=) ως χαρακτήρα συμπλήρωσης. Αυτή η μέθοδος κωδικοποίησης σχεδιάστηκε για να διασφαλίσει ότι τα δυαδικά δεδομένα μπορούν να μεταδοθούν με ασφάλεια μέσω καναλιών επικοινωνίας που υποστηρίζουν μόνο κείμενο, χωρίς αλλοίωση ή απώλεια δεδομένων. Το πρότυπο κωδικοποίησης Base64 ορίζεται επίσημα στο RFC 4648 (δημοσιεύτηκε το 2006), το οποίο αντικατέστησε το παλαιότερο RFC 3548. Ωστόσο, οι ρίζες του Base64 είναι πολύ βαθύτερες, ξεκινώντας από το πρότυπο MIME (Multipurpose Internet Mail Extensions) που δημοσιεύτηκε το 1996. Το MIME χρειαζόταν έναν αξιόπιστο τρόπο για να επισυνάπτει δυαδικά αρχεία όπως εικόνες, έγγραφα και εκτελέσιμα σε μηνύματα email, τα οποία αρχικά σχεδιάστηκαν για μεταφορά μόνο 7-bit ASCII κείμενου. Το Base64 έγινε η λύση που έκανε δυνατά τα σύγχρονα συνημμένα email. Η κωδικοποίηση Base64 είναι απαραίτητη οπότε τα δυαδικά δεδομένα πρέπει να περάσουν μέσα από συστήματα που υποστηρίζουν μόνο κείμενο. Το email παραμένει μια από τις πιο συνήθεις χρήσεις, αλλά η ανάπτυξη ιστοσελίδων έχει διευρύνει σημαντικά τον ρόλο του Base64. Τα Data URIs επιτρέπουν στους προγραμματιστές να ενσωματώνουν εικόνες, γραμματοσειρές και άλλους πόρους απευθείας σε HTML και CSS, εξαλείφοντας επιπλέον αιτήματα HTTP και βελτιώνοντας την απόδοση φόρτωσης για μικρά αρχεία. Στην ανάπτυξη API, η ταυτοποίηση HTTP Basic κωδικοποιεί τα διαπιστευτήρια χρησιμοποιώντας Base64, και τα JSON Web Tokens (JWT) χρησιμοποιούν κωδικοποίηση Base64url για τα τμήματα κεφαλίδας και φορτίου τους. Αυτό το εργαλείο υλοποιεί τόσο το τυπικό Base64 όσο και την παραλλαγή ασφαλή για URL που ορίζεται στο RFC 4648 Ενότητα 5, η οποία αντικαθιστά το + με - και το / με _ για αποφυγή συγκρούσεων με ειδικούς χαρακτήρες URL. Όλες οι λειτουργίες εκτελούνται εξ ολόκληρου στον browser σας με JavaScript, διασφαλίζοντας ότι τα δεδομένα σας δεν φεύγουν πότε από τη συσκευή σας.

Πηγές: IETF

Η Επιστήμη και Ιστορία της Κωδικοποίησης Base64

Το μαθηματικό θεμέλιο του Base64 βρίσκεται στη μετατροπή βάσης—την ίδια αρχή που χρησιμοποιείται κατά τη μετατροπή μεταξύ δεκαδικών, δυαδικών και δεκαεξαδικών αριθμητικών συστημάτων. Το Base64 χρησιμοποιεί βάση 64, που σημαίνει ότι κάθε θέση χαρακτήρα μπορεί να αναπαραστήσει μια από 64 διακριτές τιμές. Δεδομένου ότι 64 ισούται με 2 στη δύναμη 6, κάθε χαρακτήρας Base64 κωδικοποιεί ακριβώς 6 bits πληροφορίας, δημιουργώντας μια κομψή ευθυγράμμιση μεταξύ δυαδικών δεδομένων και εκτυπώσιμων χαρακτήρων. Η επιλογή του 64 ως βάση ήταν σκόπιμη. Είναι η μεγαλύτερη δύναμη του δυο που παράγει χαρακτήρες εξ ολοκλήρου εντός του εκτυπώσιμου εύρους ASCII (κωδικοί 32-126), μεγιστοποιώντας την πυκνότητα πληροφορίας ενώ παραμένει συμβατή με συστήματα κειμένου. Προηγούμενα σχήματα πειραματίστηκαν με Base16 (δεκαεξαδικό, 4 bits ανά χαρακτήρα) και Base32 (5 bits ανά χαρακτήρα), αλλά ήταν λιγότερο αποδοτικά. Το Base64 επιτυγχάνει σχεδόν βέλτιστη ισορροπία, κωδικοποιώντας 6 από τα 8 bits ανά χαρακτήρα για λόγο αποδοτικότητας 75%. Η ιστορία του Base64 ανατρέχει στο πρότυπο Privacy Enhanced Mail (PEM) το 1987, που καθόρισε για πρώτη φορά μια κωδικοποίηση 64 χαρακτήρων για email. Το πρότυπο MIME υιοθέτησε και βελτίωσε αυτό το 1996, θεσπίζοντας το αλφάβητο χαρακτήρων που χρησιμοποιείται ακόμη σήμερα. Το RFC 2045 κωδικοποίησε την έκδοση MIME, ενώ το RFC 4648 (δημοσιεύτηκε το 2006) ενοποίησε Base64 μαζί με Base32 και Base16 σε ένα ενιαίο έγγραφο αναφοράς, προσθέτοντας την παραλλαγή URL-safe αλφαβήτου. Οι σύγχρονες εφαρμογές έχουν επεκτείνει το Base64 πολύ πέρα από τις ρίζες του στο email. Τα JSON Web Tokens χρησιμοποιούν κωδικοποίηση Base64url για αναπαράσταση claims σε συμπαγή μορφή ασφαλή για URL. Τα source maps στη σμίκρυνση JavaScript κωδικοποιούν αντιστοιχίσεις αρχείων χρησιμοποιώντας ένα σχήμα Base64 μεταβλητού μήκους που ονομάζεται VLQ. Ακόμη και το σύστημα ελέγχου εκδόσεων git χρησιμοποιεί Base64 εσωτερικά κατά τη μετάδοση δυαδικών patches. Η κωδικοποίηση παραμένει ένα από τα πιο ευρέως διαδεδομένα σχήματα μετασχηματισμού δεδομένων στην ιστορία της πληροφορικής.

Μεθοδολογία

Η κωδικοποίηση Base64 μετατρέπει δυαδικά δεδομένα σε υποσύνολο 64 χαρακτήρων ASCII (A-Z, a-z, 0-9, +, /). Ο αλγόριθμος επεξεργάζεται την είσοδο σε μπλοκ τριών bytes (24 bits), χωρίζοντας κάθε μπλοκ σε τέσσερις ομάδες 6 bits. Κάθε ομάδα 6 bits αντιστοιχίζεται σε έναν από τους 64 χαρακτήρες του αλφαβήτου κωδικοποίησης, παράγοντας τέσσερις χαρακτήρες εξόδου για κάθε τρία bytes εισόδου. Αυτό έχει ως αποτέλεσμα μέγεθος εξόδου περίπου 33% μεγαλύτερο από την είσοδο. Όταν το μήκος εισόδου δεν είναι πολλαπλάσιο τριών bytes, προστίθενται χαρακτήρες συμπλήρωσης (=) για σωστή ευθυγράμμιση τεσσάρων χαρακτήρων. Αυτό το εργαλείο χρησιμοποιεί την ενσωματωμένη συνάρτηση btoa() της JavaScript για κωδικοποίηση και atob() για αποκωδικοποίηση δεδομένων κείμενου. Για χαρακτήρες μη-ASCII όπως τονισμένα γράμματα, emojis η ιδεογράμματα CJK, το κείμενο μετατρέπεται πρώτα σε ακολουθία bytes UTF-8 χρησιμοποιώντας TextEncoder πριν την κωδικοποίηση Base64. Η κωδικοποίηση αρχείων αξιοποιεί το FileReader API για ανάγνωση δυαδικών δεδομένων απευθείας ως ArrayBuffer, μετατρέποντας στη συνέχεια τον πίνακα bytes σε συμβολοσειρά Base64. Η παραλλαγή ασφαλής για URL αντικαθιστά το + με - και το / με _ όπως ορίζεται στο RFC 4648 Ενότητα 5, καθιστώντας την έξοδο ασφαλή για χρήση σε URLs και ονόματα αρχείων.

Πηγές: IETF

Κατανόηση των Αποτελεσμάτων σας

Χρησιμοποιήστε Base64 για ενσωμάτωση εικόνων σε CSS/HTML μέσω Data URIs με τη μορφή 'data:mime/type;base64,...'. Αυτό εξαλείφει επιπλέον αιτήματα HTTP για μικρά αρχεία όπως εικονίδια και λογότυπα, βελτιώνοντας τις αρχικές επιδόσεις φόρτωσης. Για JSON APIs, το Base64 επιτρέπει τη μετάδοση δυαδικών φορτίων όπως μικρογραφίες, υπογραφές ή συνημμένα έγγραφα μέσα σε δομές JSON βασισμένες σε κείμενο. Η κωδικοποιημένη έξοδος είναι πάντα περίπου 33% μεγαλύτερη από την αρχική είσοδο επειδή τρία bytes δεδομένων επεκτείνονται σε τέσσερις χαρακτήρες Base64. Έχετε υπόψη αυτή την επιβάρυνση κατά την ενσωμάτωση μεγάλων αρχείων, καθώς η αύξηση μεγέθους μπορεί να υπερβεί το όφελος λιγότερων αιτημάτων HTTP. Για εικόνες μεγαλύτερες από μερικά kilobytes, η εξυπηρέτηση ως ξεχωριστά αρχεία είναι συνήθως πιο αποδοτική. Μη έγκυρη είσοδος Base64—που περιέχει χαρακτήρες εκτός του επιτρεπόμενου αλφαβήτου ή λανθασμένη συμπλήρωση—θα παράγει σφάλμα αποκωδικοποίησης. Αν αντιμετωπίσετε σφάλματα, ελέγξτε για τυχαία κενά, αλλαγές γραμμής ή τεχνουργήματα αντιγραφής. Θυμηθείτε ότι το Base64 είναι σχήμα κωδικοποίησης, όχι κρυπτογράφηση. Οποιοσδήποτε μπορεί να αποκωδικοποιήσει μια συμβολοσειρά Base64 άμεσα, οπότε μην το χρησιμοποιείτε ποτέ για προστασία ευαίσθητων πληροφοριών.

Πρακτικά Παραδείγματα

Ενσωμάτωση μικρού λογοτύπου σε CSS: κωδικοποιήστε ένα αρχείο PNG με ενεργοποιημένη την επιλογή Data URI, μετά χρησιμοποιήστε το αποτέλεσμα ως background-image: url('data:image/png;base64,...') για εξάλειψη ενός αιτήματος HTTP. Κεφαλίδες αυθεντικοποίησης API: κωδικοποιήστε 'username:password' σε Base64 για HTTP Basic Auth, παράγοντας την κεφαλίδα Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=. Αποθήκευση δυαδικών δεδομένων σε JSON: κωδικοποιήστε ένα PDF ή εικόνα σε Base64, μετά συμπεριλάβετε το ως πεδίο κειμένου στο JSON payload σας για μετάδοση μέσω APIs κειμένου. Συστήματα email: η κωδικοποίηση MIME επισυνάπτει δυαδικά αρχεία σε μηνύματα μετατρέποντας τα σε Base64, γι αυτό τα προωθημένα συνημμένα εμφανίζονται μερικές φορές ως μεγάλες συμβολοσειρές Base64. Επιθεώρηση tokens JWT: χωρίστε ένα JWT στις δυο τελείες του, μετά αποκωδικοποιήστε τα δυο πρώτα τμήματα (κεφαλίδα και φορτίο) από Base64url για ανάγνωση των claims χωρίς ειδική βιβλιοθήκη JWT.

Συμβουλές και Βέλτιστες Πρακτικές

Χρησιμοποιείτε την παραλλαγή URL-safe οπότε η έξοδος Base64 θα εμφανίζεται σε URLs, παραμέτρους ερωτήματος ή ονόματα αρχείων. Οι τυπικοί χαρακτήρες Base64 + και / συγκρούονται με τους οριοθέτες URL και μπορούν να προκαλέσουν σιωπηλή αλλοίωση δεδομένων αν δεν αντιμετωπιστούν σωστά. Για ανάπτυξη ιστοσελίδων, ενεργοποιήστε το πρόθεμα Data URI κατά την κωδικοποίηση εικόνων μικρότερων από 5-10 KB. Αυτό ενσωματώνει την εικόνα απευθείας στο HTML ή CSS σας, εξοικονομώντας ένα HTTP round-trip. Για μεγαλύτερες εικόνες, η επιβάρυνση 33% του Base64 καθιστά πιο αποδοτική την εξυπηρέτηση ξεχωριστών αρχείων. Όταν η αποκωδικοποίηση αποτυγχάνει, ελέγξτε για κενά στο τέλος, αλλαγές γραμμής ή χαρακτήρες συμπλήρωσης που λείπουν. Πολλά συστήματα αφαιρούν ή προσθέτουν κενά κατά την αντιγραφή συμβολοσειρών Base64. Αν επικολλήσατε από email ή έγγραφο, μπορεί να έχουν εισαχθεί αόρατοι χαρακτήρες. Για αποσφαλμάτωση API, αποκωδικοποιήστε tokens JWT χωρίζοντας στις τελείες και αποκωδικοποιώντας κάθε τμήμα ξεχωριστά. Τα τμήματα κεφαλίδας και φορτίου χρησιμοποιούν κωδικοποίηση Base64url, οπότε ενεργοποιήστε πρώτα την επιλογή URL-safe.

Όλοι οι υπολογισμοί γίνονται τοπικά στο πρόγραμμα περιήγησής σας. Δεν αποστέλλονται δεδομένα σε κανέναν διακομιστή.

Ενσωμάτωση εργαλείου

Λήψη κώδικα

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

Για τι χρησιμοποιείται η κωδικοποίηση Base64;
Το Base64 μετατρέπει δυαδικά δεδομένα σε κείμενο ASCII, καθιστώντας τα ασφαλή για μετάδοση μέσω συστημάτων που χειρίζονται μόνο κείμενο. Συνήθεις χρήσεις περιλαμβάνουν ενσωμάτωση εικόνων σε HTML/CSS και αποστολή συνημμένων σε email.
Τι είναι το URL-safe Base64;
Το τυπικό Base64 χρησιμοποιεί χαρακτήρες + και / που έχουν ειδική σημασία στα URLs και μπορεί να προκαλέσουν προβλήματα. Το URL-safe Base64 αντικαθιστά το + με - και το / με _ για να αποφύγει αυτά τα προβλήματα.
Μπορώ να κωδικοποιήσω αρχεία όπως εικόνες;
Ναι! Αλλάξτε σε λειτουργία Αρχείου και ανεβάστε οποιοδήποτε αρχείο για μετατροπή σε Base64. Για εικόνες, μπορείτε να ενεργοποιήσετε την επιλογή Data URI για να λάβετε μια πλήρη συμβολοσειρά data:image/... που μπορεί να χρησιμοποιηθεί απευθείας σε HTML img tags ή CSS.
Υπάρχει όριο μεγέθους για κωδικοποίηση;
Καθώς όλη η επεξεργασία γίνεται στον browser σας, το όριο εξαρτάται από τη διαθέσιμη μνήμη της συσκευής σας. Η κωδικοποίηση κειμένου λειτουργεί καλά για megabytes δεδομένων. Για αρχεία, οι browsers συνήθως χειρίζονται έως 50-100MB. Η έξοδος Base64 είναι περίπου 33% μεγαλύτερη από τα αρχικά δεδομένα.
Είναι τα δεδομένα μου ιδιωτικά όταν χρησιμοποιώ αυτό το εργαλείο;
Ναι, πλήρως. Όλη η κωδικοποίηση και αποκωδικοποίηση Base64 εκτελείται αποκλειστικά στον browser σας μέσω JavaScript. Τα δεδομένα σας δεν αποστέλλονται ποτέ σε κανέναν διακομιστή ή τρίτο μέρος. Αυτό καθιστά το εργαλείο ασφαλές για κωδικοποίηση ευαίσθητων πληροφοριών όπως κλειδιά API, tokens ταυτοποίησης ή εμπιστευτικά έγγραφα.
Είναι η κωδικοποίηση Base64 το ίδιο με την κρυπτογράφηση;
Όχι, το Base64 είναι σχήμα κωδικοποίησης, όχι κρυπτογράφηση. Μετασχηματίζει δεδομένα σε διαφορετική αναπαράσταση αλλά δεν παρέχει ασφάλεια — οποιοσδήποτε μπορεί να το αποκωδικοποιήσει αμέσως. Το Base64 σχεδιάστηκε για ασφαλή μεταφορά δεδομένων, όχι για εμπιστευτικότητα. Αν χρειάζεστε προστασία ευαίσθητων δεδομένων, χρησιμοποιήστε αλγορίθμους κρυπτογράφησης όπως AES πριν την κωδικοποίηση σε Base64.