현재 위치: > 최신 기사 목록> PHP의 Base64 인코딩 및 디코딩 구현에 대한 튜토리얼

PHP의 Base64 인코딩 및 디코딩 구현에 대한 튜토리얼

gitbox 2025-07-28

소개하다

Base64는 이진 데이터를 ASCII 문자로 변환하기위한 인기 인코딩 체계로서 ASCII 문자 만 지원하는 네트워크에서 쉽게 전송할 수 있습니다. 이메일 프로토콜, 파일 업로드 및 다운로드와 같은 데이터 전송 시나리오에서 널리 사용됩니다. 이 기사는 PHP에서 Base64 인코딩 및 디코딩을 구현하는 방법을 소개합니다.

Base64 인코딩

코딩 프로세스

Base64 인코딩 프로세스는 이진 데이터를 ASCII 형식으로 변환하고 해당 ASCII 문자를 사용하여 6 비트의 데이터를 결합하여 표현합니다. Base64 인코딩에 사용되는 ASCII 문자 세트에는 AZ, AZ, 0-9 및 2 개의 추가 기호 (일반적으로 + 및 /)가 포함됩니다.

PHP에서는 Base64 인코딩에 Base64_encode () 함수를 사용할 수 있습니다. 이 함수는 일련의 이진 데이터를 허용하고 인코딩 된 문자열을 출력합니다.

 $binary_data = 'Hello, World!';
$base64_data = base64_encode($binary_data);
echo $base64_data;
// 산출: SGVsbG8sIFdvcmxkIQ==

코딩 제한

Base64 인코딩은 모든 유형의 이진 데이터에 적합하지 않습니다. 일부 데이터 유형에는 라인 브레이크 또는 제어 문자와 같은 무단 문자가 포함되어있어 인코딩 프로세스 중에 문제가 발생할 수 있으며 수신기의 디코딩에 영향을 줄 수 있습니다.

호환성을 보장하기 위해 Base64 인코딩 전에 이진 데이터의 문제 문자를 제거하거나 탈출해야합니다. 예를 들어, str_replace () 함수를 사용하여 줄 브레이크를 제거 할 수 있습니다.

 $binary_data = "Hello, \nWorld!";
$binary_data = str_replace("\n", "", $binary_data);
$base64_data = base64_encode($binary_data);
echo $base64_data;
// 산출: SGVsbG8sV29ybGQh

Base64 디코딩

디코딩 프로세스

Base64 디코딩 프로세스는 4 개의 ASCII 문자의 각 세트를 해당 3 바이트의 이진 데이터로 변환하여 ASCII 인코딩 된 데이터를 이진 형식으로 다시 변환합니다.

PHP에서는 Base64 Decoding에 Base64_decode () 함수를 사용할 수 있습니다. 이 함수는 Base64 인코딩 된 문자열을 허용하고 디코딩 된 이진 데이터를 출력합니다.

 $base64_data = 'SGVsbG8sIFdvcmxkIQ=='
$binary_data = base64_decode($base64_data);
echo $binary_data;
// 산출: Hello, World!

디코딩 오류

Base64 디코딩 중에 오류가 발생할 수 있습니다 (예 : 유효하지 않은 문자가 포함되지 않은 입력 문자열) 또는 문자 수는 4의 배수가 아닙니다.

이러한 오류를 처리하려면 Base64_Decode () 함수의 엄격한 매개 변수를 사용하여 TRUE로 설정하여 오류가 발생하면 함수가 False를 반환합니다.

 $base64_data = 'SGVsbG8sV29ybGQh'; // 채우기 캐릭터가 누락되었습니다
$binary_data = base64_decode($base64_data, true);
if ($binary_data === false) {
    echo '실수: 유효하지 않은Base64끈';
}

요약

Base64 인코딩은 이진 데이터를 네트워크를 통해 전송하기 위해 이진 데이터를 ASCII 형식으로 변환하는 데 간단하고 널리 사용되는 방법입니다. PHP에서 Base64 인코딩 및 디코딩은 Base64_encode ()Base64_decode () 함수를 사용하여 쉽게 구현할 수 있습니다. 그러나 Base64 인코딩을 사용할 때 개발자는 한계와 가능한 오류를 알고 있어야합니다.