2016-09-05 2 views
-2

Ich habe json_encode, url_encode und viele andere Funktionen mit suffixed mit codieren in PHP verwendet. Allerdings habe ich noch nie einen echten Anwendungsfall gesehen oder zumindest von irgendwo gelernt, was base64_encode tut. Ich untersuche seine Ausgabe und stelle fest, dass es den Zeichensatz [A_Za-z0-9] verwendet, um Daten zu kodieren.PHP - Was ist die wahre Verwendung von base64_encode Funktion

//sample output 

TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz 
IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg 
dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu 
dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo 
ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4= 

So ist die Frage. Was soll base64_encode lösen, wenn wir bereits unzählige Textcodierfunktionen haben?

+1

Ich habe gesehen, wie es in Payment-Gateway-APIs (BarclayCard SmartPay IIRC) verwendet wurde, um eine Art Nachrichtenauszug der Transaktion (kombiniert mit einem geheimen Schlüssel) zu erstellen, den Sie dann mit cURL an sie senden. – CD001

Antwort

2

Die Dokumentation auf base64_encode() gibt Ihnen die Antwort:

Diese Codierung ausgelegt ist, binäre Daten überleben Transport durch Transportschichten zu machen, die nicht mehr als 8-Bit-sauber sind, wie E-Mail Körper.

json_encode wandelt Werte in JSON Notation und urlencode wird verwendet, wenn Sie die Werte innerhalb einer URL setzen müssen. Nur weil sie alle das Wort encodieren in ihren Namen haben bedeutet nicht, dass sie in irgendeiner Weise verwandt sind.

Verwandte Themen