Base64 인코딩은 이진 데이터를 텍스트 형식으로 변환하는 인코딩 방법입니다. 이 인코딩 방법은 특정 규칙에 따라 이진 데이터를 텍스트 형식으로 변환하므로 정보를 잃지 않고 전송 중에 이진 데이터를 정상적으로 표시 할 수 있습니다.
Base64 인코딩은 주로 이메일, HTTP 프로토콜 및 바이너리 데이터를 텍스트 형식 전송으로 변환 해야하는 일부 시나리오에서 사용됩니다.
PHP는 Base64 인코딩 문자열, 즉 Base64_encode () 함수를 사용하는 쉬운 방법을 제공합니다. 이 함수의 구문은 다음과 같습니다.
string base64_encode(string $data)
여기서 $ data는 인코딩 해야하는 문자열입니다.
다음은 인코딩을 위해 base64_encode () 함수를 사용하는 샘플 코드입니다.
$str = 'hello world';
$encode_str = base64_encode($str);
echo $encode_str; // aGVsbG8gd29ybGQ=
위의 코드에서 String $ str이 먼저 정의 된 다음 base64_encode () 함수를 사용하여 인코딩되고 인코딩 된 결과는 변수 $ encode_str에 저장되고 인코딩 된 문자열이 최종적으로 출력됩니다.
인코딩에 해당하는 PHP는 Base64 인코딩 된 문자열을 디코딩하는 간단한 방법을 제공합니다. 즉, Base64_Decode () 함수를 사용합니다. 이 함수의 구문은 다음과 같습니다.
string base64_decode(string $data)
여기서 $ data는 해독 해야하는 Base64- 인코딩 된 문자열입니다.
다음은 Decoding을 위해 Base64_decode () 함수를 사용하는 샘플 코드입니다.
$encode_str = 'aGVsbG8gd29ybGQ=';
$decode_str = base64_decode($encode_str);
echo $decode_str; // hello world
위의 코드에서 변수 $ encode_str가 먼저 지정되고 Base64에 인코딩 된 문자열이 저장됩니다. 그런 다음 Base64_Decode () 함수를 사용하여 디코딩하고 디코딩 된 결과는 변수 $ decode_str에 저장되고 디코딩 된 문자열이 마침내 출력됩니다.
Base64 인코딩은 실제 응용 분야에서 매우 널리 퍼져 있습니다. 다음은 특정 응용 프로그램 시나리오입니다.
URL 매개 변수를 전달하려면 ASCII 문자 세트를 사용해야하므로 이진 데이터를 직접 전달할 수 없습니다. 이때, 이진 데이터는 Base64를 사용하여 ASCII 문자 세트로 인코딩 될 수 있으며, 인코딩 된 문자열은 URL 매개 변수로 전달 될 수 있습니다.
예를 들어, 다음 예제 코드에서 바이너리 이미지 데이터는 먼저 base64_encode () 함수를 사용하여 인코딩 된 다음 인코딩 된 문자열이 URL 매개 변수로 다른 페이지로 전달됩니다.
$img_data = file_get_contents('example.jpg');
$img_base64 = base64_encode($img_data);
$img_src = 'data:image/jpeg;base64,' . $img_base64;
위의 코드에서 먼저 File_Get_Contents () 함수를 사용하여 그림의 이진 데이터를 읽은 다음 Base64_encode () 함수를 사용하여 그림의 이진 데이터를 Base64 문자열로 인코딩하고 "data : image/jpeg; base64,"프리 픽스를 연결하고 마지막으로 암호화 된 base64 문자열을 URL 파라미터로 통과시킵니다.
Base64 인코딩은 또한 이진 데이터를 HTML 페이지에 포함시켜야하는 상황에서 중요한 역할을 할 수 있습니다.
예를 들어, 다음 예제 코드에서 PDF 파일은 먼저 base64_encode () 함수를 사용하여 인코딩 된 다음 인코딩 된 문자열이 html 페이지에 dataurl로 내장됩니다.
$pdf_data = file_get_contents('example.pdf');
$pdf_base64 = base64_encode($pdf_data);
$pdf_data_url = 'data:application/pdf;base64,' . $pdf_base64;
위의 코드에서 먼저 file_get_contents () 함수를 사용하여 PDF 파일의 이진 데이터를 읽은 다음 Base64_encode () 함수를 사용하여 PDF 파일의 이진 데이터를 Base64 문자열로 인코딩하고 "data : application/pdf; base64,"접두사를 스 플라이 쳤습니다.
실제 응용 프로그램에서는 네트워크에서 전송 될 때 암호 및 키와 같은 개인 정보 보호 정보가 도난 당할 수 있습니다. 이 정보의 보안을 보호하기 위해 Base64 인코딩으로 간단히 암호화하고 전송하는 데 사용될 수 있습니다.
예를 들어 다음 예제 코드에서 암호 정보는 먼저 base64_encode () 함수를 사용하여 인코딩 한 다음 인코딩 된 문자열이 서버로 전송됩니다.
$password = 'mypassword';
$encode_password = base64_encode($password);
// send $encode_password to server
서버에서 암호화 된 비밀번호 정보를 수신 한 후 Base64_Decode () 함수를 사용하여 비밀번호 정보를 해독하여 일반 텍스트 비밀번호 정보를 얻을 수 있습니다.
$encode_password = 'bXlwYXNzd29yZA==';
$password = base64_decode($encode_password);
// use $password for authentication
Base64 인코딩은 이진 데이터를 텍스트 형식으로 변환하는 인코딩 방법이며, 일반적으로 다양한 프로토콜 및 프로그램에서 사용됩니다. PHP는 Base64_encode () 및 Base64_decode () 함수를 Base64 인코딩 및 디코딩에 제공합니다. 이 두 기능은 이진 데이터와 텍스트 사이의 상호 전환을 실현할 수 있으며 실제 응용 분야에서 광범위한 응용 값을 가지고 있습니다.