Base64 ist eine Binär- bis Textual content-Codierungsmethode, die Binärdaten im ASCII-String-Format darstellt. Es wird häufig verwendet, um Daten für die Übertragung über Medien zu codieren, die hauptsächlich Textual content sind, wie E-Mails, JSON-basierte APIs usw., damit binäre Daten wie Bilder und Dateien nicht beschädigt werden. Der Begriff Base64 ergibt sich aus der Tatsache, dass 64 Zeichen-AZ, AZ, 0-9, +und / zur Darstellung von Daten verwendet werden. In den letzten Jahren, ichT wurde häufig in multimodalen KI-Anwendungen, eingebetteten Systemen, Cloud-basierten Diensten und Webentwicklung verwendet. In diesem Artikel werden wir mehr über Base64 und wie man es benutzt.
Warum Base64?
Base64 wird hauptsächlich in Fällen verwendet, in denen binäre Daten (z. B. Bilder, Movies, Modellgewichte usw.) durch textbasierte Infrastrukturen weitergeleitet werden müssen, ohne verändert oder beschädigt zu werden. Aber warum ist es eine beliebte Wahl unter so vielen anderen Arten von Codierungen? Versuchen wir zu verstehen.
Base64 ist:
- Textsicher: Kann Binärdaten in textbasierte Formate wie HTML, XML, JSON usw. einbetten.
- Leicht zu transportieren: Keine Probleme mit Charaktercodierung oder Datenbeschädigung.
- Gemeinsam für Bilder: Häufig in der Webentwicklung verwendet, um Bilder direkt in HTML/CSS- oder JSON -Payloads einzubetten.
Und hier ist, wie andere berühmte Kodierungen mit Base64 verglichen werden.
Codierung | Zweck | Anwendungsfall | Größenwirkung |
Basis64 | Binär zum Textual content | Einbetten von Bildern/Dateien in HTML, JSON usw. | ~ 33% steigen |
Verhexen | Binär zu hexadezimal | Debugging, Netzwerkspuren | ~ 100% zunehmen |
Gzip | Kompression | Tatsächliche Größenreduzierung für Textual content/binär | Kompressionsverhältnisabhängig |
Lesen Sie auch: Was sind kategoriale Datencodierungsmethoden | Binärer Codierung
Wie funktioniert Base64?
Versuchen wir nun zu verstehen, wie Base64 funktioniert. Hier ist eine Vorgehensweise über die Schritt-für-Schritt-Konvertierung der Saite „Hallo“ in sein Base64 -Format.
Schritt 1: Konvertieren Sie den Textual content in ASCII -Bytes
Charakter | ASCII -Dezimalwert | Binärwert (8 Bit) |
H | 72 | 01001000 |
e | 101 | 01100101 |
l | 108 | 01101100 |
l | 108 | 01101100 |
O | 111 | 01101111 |
Jetzt würde unsere Zeichenfolge „Hallo“ wie 01001000 01100101 01101100 01101100 01101111 aussehen.
Das sind 5 Zeichen × 8 Bit = 40 Bit.
Schritt 2: Brechen Sie die Binärin in 6-Bit-Gruppen ein
Base64 arbeitet auf 6-Bit-BlöckeAdditionally gruppieren wir die 40 Bit in Stücke von 6, die zuvor in Stücken von 8 waren:
01001000 01100101 01101100 01101100 01101111
Wenn diese Teile von 8 in Gruppen von 6 Gruppen gruppiert sind, sehen sie so aus:
010010 000110 010101 101100 011011 000110 1111
Da 40 um 6 nicht direkt teilbar sind, müssen wir am Ende einige 0s auf den Markt bringen. Wir haben jetzt 6 volle 6-Bit-Blöcke und 1 4-Bit-Block. Wir padeln den letzten Block mit 2 Null-Bits, um ihn zu einem vollen 6-Bit-Stück zu machen:
010010 000110 010101 101100 011011 000110 111100
Schritt 3: Konvertieren Sie 6-Bit-Gruppen in Dezimalgruppen
Wir wissen, dass 2^6 64 ist. Unser Bereich wird additionally zwischen 0 und 63 liegen.
6-Bit-binär | Dezimal |
010010 | 18 |
000110 | 6 |
010101 | 21 |
101100 | 44 |
011011 | 27 |
000110 | 6 |
111100 | 60 |
Schritt 4: Karte zu Base64 Zeichen
Nach der Normal -Basis64 -Zeichen Tabelle werden wir unsere Dezimalwerte den entsprechenden Zeichen abbilden.

Dezimal | Basis64 Charakter |
18 | S |
6 | G |
21 | V |
44 | S |
27 | B |
6 | G |
60 | 8 |
Wir erhalten „SGVSBG8“ als unsere Base64 -Codierung für unsere Zeichenfolge „Hallo“.
Schritt 5: Polsterung hinzufügen
Da unsere ursprüngliche Zeichenfolge 5 Bytes hatte (nicht ein Vielfaches von 3), erfordert Base64 eine Polsterung mit „=“, um die Ausgangslänge zu einem Vielfachen von 4 Zeichen zu machen.
5 Bytes = 40 Bit -> 6 Full Base64 -Zeichen + 2 weitere Zeichen (aus gepolsterten Bits) -> Gesamt 8 Zeichen
Finale Base64 Coded String: „Hallo“ -> SGVSBG8 =
Lesen Sie auch: Komplette Anleitung zum Codieren numerischer Merkmale im maschinellen Lernen
Python -Implementierung von Base64
Nachdem Sie verstehen, wie Base64 funktioniert, möchte ich Ihnen zeigen, wie Sie es in Python implementieren können. Wir werden zuerst versuchen, einen Textual content zu codieren und zu dekodieren, und dann dasselbe mit einem Bild tun.
Codierung und Dekodierungstext
Codieren wir diesen einfachen Textual content mit Base64 und dekodieren Sie dann die codierte Zeichenfolge zurück in seine ursprüngliche Type.
import base64
# Textual content encoding
message = "Good day World"
encoded = base64.b64encode(message.encode())
print("Encoded:", encoded)
# Decoding it again
decoded = base64.b64decode(encoded).decode()
print("Decoded:", decoded)
Ausgabe

Kodierung und Dekodierung von Bildern
In sehbezogenen Anwendungen, insbesondere mit Sichtsprachmodelle (VLMS), Bilder werden häufig in Base64 codiert, wenn:
- Übertragen Sie Bilder über JSON -Payloads an oder von APIs.
- Einbetten von Bildern zum Coaching und Servieren von multimodalen Modellen.
- Mit Clip, Blip, LLAVA oder anderen Visionsprachtransformatoren, die Bilder als serialisierte Basis64-Saiten akzeptieren.
Hier ist ein einfacher Python -Code, um Bilder zu codieren und zu dekodieren.
from PIL import Picture
import base64
import io
# Load and encode picture
img = Picture.open("instance.jpeg")
buffered = io.BytesIO()
img.save(buffered, format="JPEG")
img_bytes = buffered.getvalue()
img_base64 = base64.b64encode(img_bytes).decode('utf-8')
print("Base64 String:", img_base64(:100), "...") # Truncated
Ausgabe

Mit dem folgenden Code können wir auch unsere codierten Daten von Base 64 zum Bild zurück zum Bild dekodieren.
from PIL import Picture
import base64
import io
from IPython.show import show, Picture as IPythonImage
# Assume `img_base64` is the base64 string
img_data = base64.b64decode(img_base64)
img = Picture.open(io.BytesIO(img_data))
show(IPythonImage(information=img_data))
Ausgabe

Um mehr über Base64 zu erfahren und viele weitere Encoder und Decoder zu finden, können Sie dies verweisen Web site.
Dinge, die Sie bei der Verwendung von Base64 berücksichtigen sollten
Obwohl Base64 in verschiedenen Anwendungsfällen über die Domänen hinweg von großer Bedeutung ist, sind hier einige Dinge zu beachten, während sie damit arbeiten.
- Größenaufwand (~ 33%): Für jeweils 3 Bytes binärer geben Sie 4 Bytes Textual content aus. Auf großen Chargen (z. B. Tausende von Hochrahmen) kann dies schnell eine Netzwerk- und Speicherbandbreite konsumieren. Betrachten Sie Komprimierungsbilder (JPEG/PNG) vor Base64 und verwenden Sie nach Möglichkeit Streaming.
- Speicher & CPU -Final: Wenn Sie ein ganzes Bild gleichzeitig konvertieren und gepuffert, können Sie die allgemeine Speicherverwendung während der Codierung ansprechen. In ähnlicher Weise fügt das Dekodieren in rohe Bytes und das Analysieren über eine Bildbibliothek auch CPU -Overhead hinzu.
- Kein Komprimierungsalgorithmus: Base64 reduziert die Größe nicht, sondern es blüht sie auf. Wenden Sie immer echte Komprimierung (z. B. JPEG, WebP) auf die Binärdaten an vor Codierung nach Base64.
- Sicherheitsüberlegungen: Wenn wir Base64 -Saiten blind zu HTML oder JSON ohne Reinigung verketten, können Sie XSS- oder JSON -Injektionsvektoren öffnen. Außerdem können extrem große Basis64 -Daten die Parser erschöpfen und maximale Nutzlastgrößen am Gateway durchsetzen.
Abschluss
In einer Zeit, in der Modelle sowohl „sehen“ als auch „lesen“ können, ist Base64 leise zu einem Eckpfeiler multimodaler Systeme geworden. Es spielt eine sehr wichtige Rolle bei der Datencodierung, indem es die Lücke zwischen binären Daten und nur textbezogenen Systemen überbrückt. In Imaginative and prescient -Language -Workflows standardisiert es, wie Bilder von mobilen Shoppers zu Cloud -GPUs wandern und gleichzeitig die Reproduzierbarkeit bewahren und die Integration lindern.
Bilder mit textbasierter Infrastruktur kompatibel zu machen, conflict schon immer ein komplexes Drawback, das zu lösen ist. Base64 Codierung bietet eine praktische Lösung dafür, die die Bildübertragung über APIs und Verpackungsdatensätze für das Coaching ermöglicht.
Melden Sie sich an, um weiter zu lesen und Experten-Kuratinhalte zu genießen.