>  기사  >  백엔드 개발  >  PHP base64를 바이너리 스트림으로

PHP base64를 바이너리 스트림으로

王林
王林원래의
2023-05-06 13:42:071439검색

웹 개발에서 백엔드 언어인 PHP는 가장 일반적인 언어 중 하나입니다. 관련된 데이터 형식 변환도 매우 일반적이며, 그 중 Base64는 바이너리 데이터를 인코딩하는 데 자주 사용되는 방법입니다. 웹 개발의 파일 업로드, 이미지 처리 및 기타 시나리오를 위해서는 Base64 형식의 데이터를 바이너리 스트림으로 변환해야 합니다. 이 기사에서는 PHP를 사용하여 Base64 형식의 데이터를 바이너리 스트림으로 변환하는 방법을 소개합니다.

1. Base64 인코딩이란 무엇입니까?

Base64는 바이너리 데이터를 ASCII 문자로 인코딩할 수 있는 인코딩 방법으로 이메일 전송, HTTP 프로토콜 전송, 암호화된 저장 등의 시나리오에 자주 사용됩니다. Base64 인코딩의 주요 원리는 3개의 8비트 바이트를 4개의 6비트 코드워드로 변환하고 "=" 문자로 채우는 것입니다. 64개의 코드워드에서 일부 특수문자가 제거되었기 때문에 Base64 인코딩이라고 합니다.

2. Base64를 인코딩/디코딩하는 방법은 무엇인가요?

PHP 처리에서 Base64 인코딩/디코딩은 내장된 기능을 직접 사용할 수 있습니다. 문자열의 경우 base64_encode()를 사용하여 인코딩할 수 있습니다. Base64로 인코딩된 데이터의 경우 base64_decode()를 사용하여 디코딩할 수 있습니다.

예를 들어 다음 코드 조각은 문자열 인코딩 및 디코딩을 구현합니다.

$str = "hello world";
echo base64_encode($str); // 출력 aGVsbG8gd29ybGQ=
echo base64_decode("aGVsbG8gd29ybGQ="); // hello world
?>

三, Base64 형식의 데이터를 바이너리 스트림으로 변환하는 방법은 무엇입니까?

PHP에서는 Base64 형식의 데이터에 대해 base64_decode() 함수를 사용하여 디코딩된 데이터를 디코딩하고 저장할 수 있습니다. 이미지 저장소를 예로 들면, Base64 형식의 데이터를 바이너리 스트림(예: 바이너리 파일)으로 변환해야 합니다.

다음 코드 조각은 Base64 형식의 이미지 데이터를 로컬 파일에 저장하는 방법을 보여줍니다.

$base64_image = "데이터:이미지/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAAFOiXE1AAAAABmJLR0QAAAAAAAD5Q7t/AAAAi0lEQVR4nO3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwGgAAQAA8MoMOQAAIABJREFU3rNl3X1sldW+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/ s+/ s+ /s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s2mJ0zKOmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZt/52gV7fnu/0BKbV7f j+g mBwOdA2nnn2/v8WPsB41EvXr81q3UKqrq56r440WfI5J5+5fjGdeua556PLlW5P6fdXNL6C19ve6/Kvpt6Xi5eJhZsaGTUUQEB /gVgcF +g1ZePJZZy+e9XJcV7LjEzt3nZ4s53deJpEyl+eiJtghgRPV7JF9X+TtTwwwuPtPwmBwOdA2nlm12mWLOxIfm2ouq+195LFy9Xp8Wf/uAHMvZtvfWXzc5N5d8/j5GZHfm NFRMUFBQQR6dd dXJ6/v/1OTqrqc5fea1Z5aPOf968dMGSzqeDps24NGzeU6X+B9iggUFhYKCgoyMjAIKApVVFRgR8 evRQHxvXE3N3r6qqqpyx8fHBYGCgoKyswMwrIk+dNBqNRqNjo7EQICgrK29m SEhJoJmYmBAQEAu0 DQwJDQwNDQ2t8d/+rae/1vhNlOJiYlNcN7GvjYaGh4c3qNSHR4fzxoLj4+Kh4cVlZWeYGFYC7QNKyQkFBQVcaMGMANQNKbVTh8dL1ePV7Cw8Ofn5+xlW5fcvvykpKELZp N5i5PT5W5duvU 6ejtyy+/Oju6NAhENvaWlpOzs7KyoqJiRsbGygW8qtg2MzPz3K5Xr9WmzatEsstISejXL169fmzJljDaWlpb8QvTKywPypWrj9XrVmJSUlISEgIAAAAABJRU5ErkJggg==";
$file_path = "테스트. png" ;
$binary_data = base64_decode(str_replace('data:image/png;base64,', '', $base64_image));
$file = fopen($file_path, "wb");
fwrite($file, $binary_data);
fclose ($file);
?>

다음 코드를 구문 분석합니다.

먼저 Base64 형식 문자열 $base64_image를 정의하고 파일이 저장될 파일 이름(test.png)을 정의합니다. 그런 다음 str_replace() 함수를 호출하여 Base64 형식 문자열의 헤더에 있는 data:image/png;base64 문자열을 아무것도 없는 것으로 바꾸고 바이너리 데이터로 변환합니다.

다음으로, 파일이 저장될 파일 이름을 정의하고, 읽고 쓰기 위해 파일을 열고, 해당 바이너리 데이터를 쓰고, 마지막으로 파일을 닫습니다.

이렇게 Base64 형식의 이미지 데이터를 바이너리 스트림으로 변환하여 로컬 파일에 저장하는 과정이 구현됩니다.

4. 요약

이 글에서는 주로 PHP에서 Base64 형식의 데이터를 바이너리 스트림으로 변환하는 방법을 소개합니다. Base64 인코딩에는 웹 개발에서 광범위한 애플리케이션 시나리오가 있습니다. 이진 데이터를 전송하거나 저장해야 하는 일부 시나리오의 경우 Base64 인코딩을 이해하는 것이 매우 중요합니다. 이 기사를 통해 독자들이 Base64 인코딩에 대해 더 깊이 이해하고 실제 응용 프로그램에서의 사용에 대해 더 잘 이해할 수 있기를 바랍니다.

위 내용은 PHP base64를 바이너리 스트림으로의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.