Base64는 http 전송을 위해 바이너리를 표시 가능한 문자로 트랜스코딩할 수 있지만, base64 트랜스코딩은 URL로 트랜스코딩되는 특수 문자 "+", "/", "="를 생성하여 데이터의 두 가지 측면이 일치하지 않게 됩니다.
보내기 전에 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!