Skip to main content

Τι είναι το Base64;

Το Base64 είναι μια μέθοδος για τη μετατροπή αυθαίρετων δυαδικών δεδομένων, τα δεδομένα που αποτελούνται από περισσότερο από απλούς χαρακτήρες κειμένου, σε ένα απλό μήνυμα κειμένου που στη συνέχεια μπορεί να μεταφερθεί σε ένα δίκτυο υπολογιστών.Αυτό που ονομάζεται κωδικοποίηση.Ενώ η έξοδος ενός κωδικοποιημένου μηνύματος Base64 δεν είναι κάτι που ένας άνθρωπος μπορεί εύκολα να καταλάβει, εξακολουθεί να αποτελείται από 64 κοινούς χαρακτήρες αγγλικής γλώσσας, από όπου προέρχεται το όνομα, με επιπλέον 65ο χαρακτήρα που χρησιμοποιείται για ειδικούς σκοπούς.Πίσω από το Base64 προέκυψε καθώς η ανάγκη προέκυψε για να πάρει περισσότερο από απλούς χαρακτήρες κειμένου μέσω δικτυωμένων επικοινωνιών όπως το ηλεκτρονικό ταχυδρομείο.Τα πρώτα μηνύματα ηλεκτρονικού ταχυδρομείου ξεκίνησαν ως χαρακτήρες που κωδικοποιούνται στον αμερικανικό πρότυπο κώδικα για την Information Interchange (ASCII), τη μέθοδο κωδικοποίησης που χρησιμοποιείται στους υπολογιστές για την εκπροσώπηση χαρακτήρων αλφαβήτου αγγλικής γλώσσας ως κείμενο σε οθόνες ή εκτυπωτές.Καθώς αναπτύχθηκαν πρόσθετες δυαδικές πληροφορίες που απαιτούνται, αναπτύχθηκαν νέα συστήματα κωδικοποίησης.

Η μέθοδος κωδικοποίησης Base64 περιγράφηκε για πρώτη φορά σε αυτό που είναι γνωστό ως πρότυπο Extensions Mail Onternal (MIME).Οι τυποποιημένες μεθόδους MIME με τις οποίες άλλοι χαρακτήρες που είχαν κωδικοποιηθεί με ασκί, όπως αλφάβητα που χρησιμοποιούνται από μη αγγλικές γλώσσες, καθώς και άλλα αυθαίρετα δυαδικά δεδομένα, θα μπορούσαν επίσης να κωδικοποιηθούν σε ακολουθίες ASCII και να μεταδίδονται μέσω μηνυμάτων ηλεκτρονικού ταχυδρομείου.Από τα δύο βασικά μέσα κωδικοποίησης που περιγράφεται από το πρότυπο MIME, το Base64 μοιράζεται το ρόλο με ένα άλλο γνωστό ως αναφερόμενο εκτυπώσιμο.Ενώ η αναφερόμενη μέθοδος είναι ικανή να επεκτείνει το ASCII κάπως πέρα από τους περιορισμένους 94 εκτυπώσιμους χαρακτήρες της, το Base64 μπορεί να πάρει οποιαδήποτε ακολουθία bytes και να την μετατρέψει σε μια ακολουθία ASCII.και να τα μετατρέψετε σε ASCII.Για να γίνει αυτό, η μέθοδος κωδικοποίησης είναι μια διαδικασία συλλογής των δεδομένων σε ομάδες τριών bytes και μετατρέποντάς τα σε τέσσερις αριθμούς που αντιπροσωπεύουν αντίστοιχους χαρακτήρες ASCII.Δεδομένου ότι ένα byte είναι οκτώ bits, όπου κάθε bit αντιπροσωπεύεται είτε από ένα είτε από μηδέν, τρία byte είναι συνδεδεμένα άκρο έως άκρο και ολόκληρη η ακολουθία πηγαίνει σε buffer 24 bit.Οι 24 και τα μηδενικά χωρίζονται σε τέσσερις ομάδες έξι bits, όπου ο καθένας είναι στη συνέχεια οι αριθμοί που ταιριάζουν με έναν χαρακτήρα ASCII. Δεδομένου ότι το Base64 είναι ικανό να κωδικοποιεί οποιαδήποτε δυαδικά δεδομένα, οποιαδήποτε ακολουθία bytes μπορεί να περάσει από τη διαδικασία.Υπάρχει όμως μια αλίευση σε εκείνες τις περιπτώσεις όπου ο αριθμός των bytes για την κωδικοποίηση δεν διαιρείται κατά τρία, έτσι ώστε τα bits να μπορούν να χωρέσουν στο buffer.Εάν μια ακολουθία byte περιέχει, ας πούμε, τέσσερα ή πέντε bytes, κάτι χρειάζεται ακόμα για να γεμίσει το buffer και να συνθέτει τα πλήρη 24 bits.Σε αυτές τις περιπτώσεις, κάθε byte που λείπει αντιπροσωπεύεται από οκτώ 0s και στη συνέχεια μετατρέπεται σε χαρακτήρες με επένδυση στην τελική κωδικοποίηση.Αυτό είναι όπου προέρχεται ο αναφερόμενος 65ος χαρακτήρας, που εκπροσωπείται στο κωδικοποιημένο μήνυμα με ένα σημάδι ισούται (');Εμφανίζεται μόνο στο τέλος μιας κωδικοποίησης εάν είναι απαραίτητο ένα πλήρωσης. Αν και το Base64 σχεδιάστηκε αρχικά για τη μετάδοση δυαδικών δεδομένων μέσω μηνυμάτων ηλεκτρονικού ταχυδρομείου, η χρήση του έχει τεθεί σε λειτουργία σε αρκετούς άλλους τομείς εκτός από το MIME.Μια τέτοια αρκετά συνηθισμένη χρήση είναι για τις βάσεις δεδομένων και τις εφαρμογές ιστού να κωδικοποιούν δεδομένα για τη δημιουργία ενός ενιαίου εντοπισμού πόρων (URL) σε μια φόρμα ιστού.Η επεκτάσιμη γλώσσα σήμανσης (XML) χρησιμοποιεί επίσης μια παραλλαγή που επιτρέπει δυαδικά δεδομένα, όπως μικρές εικόνες, που περιλαμβάνονται στα έγγραφα XML.Υπάρχουν άλλες παραλλαγές για μεθόδους κρυπτογράφησης και άλλες τεχνικές που σχετίζονται με την ασφάλεια, όπως η απόκρυψη κωδικών πρόσβασης.