Heim >häufiges Problem >Was ist Base64-Kodierung?

Was ist Base64-Kodierung?

coldplay.xixi
coldplay.xixiOriginal
2021-03-24 11:11:123017Durchsuche

Base64-Kodierung ist eine der gebräuchlichsten Kodierungsmethoden zur Übertragung von 8-Bit-Bytecode im Internet. Base64 ist eine Methode zur Darstellung von Binärdaten basierend auf 64 druckbaren Zeichen. Sie können [RFC2045~RFC2049] anzeigen, das detaillierte Spezifikationen von MIME enthält.

Was ist Base64-Kodierung?

Die Betriebsumgebung dieses Artikels: Windows 7-System, Dell G3-Computer.

Base64-Codierung ist der Prozess der Konvertierung von Binärdaten in Zeichen und kann zur Übermittlung längerer Identifikationsinformationen in einer HTTP-Umgebung verwendet werden. Die Base64-Kodierung ist nicht lesbar und muss dekodiert werden, bevor sie gelesen werden kann.

Base64Aufgrund der oben genannten Vorteile wird es in verschiedenen Bereichen von Computern häufig verwendet. Da der Ausgabeinhalt jedoch mehr als zwei „Symboltyp“-Zeichen (+, /, =) enthält, haben sich unterschiedliche Anwendungsszenarien entwickelt Versionen von Base64. Eine „Variante“. Um die Ausgabe von Base64 zu vereinheitlichen und zu normalisieren, gilt Base62x als verbesserte Version von unsigned.

Standard Base64 ist nicht für die direkte Übertragung in der URL geeignet, da der URL-Encoder die Zeichen „/“ und „+“ im Standard Base64 in die Form „%XX“ ändert und diese „%“-Zeichen erforderlich sind beim Speichern in die Datenbank erneut konvertiert werden, da das „%“-Zeichen in ANSI SQL als Platzhalterzeichen verwendet wurde.

Um dieses Problem zu lösen, kann eine verbesserte Base64-Kodierung für URLs verwendet werden, die das „=“-Zeichen am Ende auffüllt und das „+“ und „/“ im Standard-Base64 in „-“ und „_“ ändert macht eine Konvertierung während der URL-Kodierung, Dekodierung und Datenbankspeicherung überflüssig, vermeidet die Verlängerung der kodierten Informationen im Prozess und vereinheitlicht das Format von Objektkennungen in Datenbanken, Formularen usw.

Es gibt auch eine verbesserte Base64-Variante für reguläre Ausdrücke, die „+“ und „/“ in „!“ und „-“ ändert, da „+“, „*“ und die zuvor in IRCu verwendeten „[“ und „]“ können in regulären Ausdrücken eine besondere Bedeutung haben.

Außerdem gibt es einige Varianten, die „+/“ in „_-“ oder „._“ (wird als Bezeichnername in Programmiersprachen verwendet) oder „.-“ (wird für Nmtoken in XML verwendet) oder sogar „_:“ ändern. (für Name in XML).

Base64 erfordert die Konvertierung aller drei 8-Bit-Bytes in vier 6-Bit-Bytes (3*8 = 4*6 = 24) und das anschließende Hinzufügen von zwei höherwertigen Bits 0 zu den 6 Bit, um vier 8-Bit-Bytes zu bilden. Mit anderen Worten, die konvertierte Zeichenfolge wird theoretisch 1/3 länger sein als das Original.

Regeln

Regeln zu dieser Kodierung:

① Verwandle 3 Bytes in 4 Bytes.

②Fügen Sie alle 76 Zeichen ein Zeilenumbruchzeichen hinzu.

③ Der endgültige Terminator muss ebenfalls verarbeitet werden.

Beispiel

Vor der Konvertierung 11111111, 11111111, 11111111 (binär)

Nach der Konvertierung 00111111, 00111111, 00111111, 00111111 (binär)

Die drei Bytes oben sind der Originaltext und die vier Bytes unten sind die Konvertierung Die ersten beiden Bits der Base64-Kodierung sind 0.

Nach der Konvertierung verwenden wir eine Codetabelle, um die gewünschte Zeichenfolge zu erhalten (d. h. die endgültige Base64-Codierung). Diese Tabelle sieht folgendermaßen aus: (Auszug aus RFC2045)

Verwandte Videoempfehlungen: PHP-Programmierung von Eintrag bis Kompetent

Das obige ist der detaillierte Inhalt vonWas ist Base64-Kodierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn