Ich denke, das muss eine dumme Frage sein, aber warum enden die Ergebnisse von urlsafe_b64encode () immer mit einem '=' für mich? '=' ist nicht sicher?
%Vor%Ausgabe:
%Vor%Base64 verwendet '=' zum Auffüllen. Ihre String-Bit-Länge ist nicht durch 24 teilbar, daher wird sie mit '=' aufgefüllt. Übrigens sollte "=" URL-sicher sein, da es oft für Parameter in URLs verwendet wird.
Siehe auch diese Diskussion .
Das '=' dient zum Auffüllen. Wenn Sie die Ausgabe als Wert eines URL-Parameters übergeben möchten, müssen Sie diesen als erstes ausschließen, damit die Auffüllung beim späteren Einlesen des Werts nicht verloren geht.
%Vor%Python folgt nur RFC3548, indem es das '=' für das Auffüllen zulässt, obwohl es scheint, dass ein geeigneteres Zeichen es ersetzen sollte.
Ich würde erwarten, dass ein URI-Parser ein "=" im Wertenteil eines Parameters ignoriert.
Die URI-Parameter lauten: "& amp;" , [Name], "=", [Wert], nächstes, also ist ein Gleichheitszeichen im Wertteil harmlos. Ein unescaped Ampersand hat mehr Potenzial, den Parser zu brechen.