Base64 は、バイナリを http 送信用の可視文字にトランスコードできますが、Base64 トランスコードすると、URL によってトランスコードされる「 」、「/」、「=」が生成されます。文字はデータの 2 つの側面で不一致を引き起こします。
「 」、「/」、および「=」は、送信前に URL 内のトランスコードされない文字に置き換えることができます。データを受信した後、これらの文字を元に戻してデコードできます。
1. URL セーフな文字列エンコード:
function urlsafe_b64encode($string) { $data = base64_encode($string); $data = str_replace(array('+','/','='),array('-','_',''),$data); return $data; }
2. URL セーフな文字列デコード:
function urlsafe_b64decode($string) { $data = str_replace(array('-','_'),array('+','/'),$string); $mod4 = strlen($data) % 4; if ($mod4) { $data .= substr('====', $mod4); } return base64_decode($data); }
推奨チュートリアル: " php チュートリアル "
以上がphpのbase64はURL文字列をどのようにエンコードおよびデコードしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。