programing

Base64 인코딩 이미지

randomtip 2023. 8. 9. 22:35
반응형

Base64 인코딩 이미지

Firefox/IE에 대한 공개 검색 추가 기능을 구축하고 있는데 이미지가 Base64 Encoded여야 하는데 내가 가지고 있는 Favicon을 Base64로 인코딩하려면 어떻게 해야 합니까?

저는 PHP에만 익숙합니다.

제 기억으로는 이미지 데이터에 대한 xml 요소가 있는 것으로 알고 있습니다. 웹 사이트를 사용하여 파일을 인코딩할 수 있습니다(업로드 필드 사용).그런 다음 XML 요소에 데이터를 복사하여 붙여넣기만 하면 됩니다.

PHP를 사용하여 다음과 같은 작업을 수행할 수도 있습니다.

 <?php
        $im = file_get_contents('filename.gif');
        $imdata = base64_encode($im);      
?> 

OpenSearch 플러그인 생성에 대한 도움말은 Mozilla의 안내서를 참조하십시오.예를 들어 아이콘 요소는 다음과 같이 사용됩니다.

<img width="16" height="16">data:image/x-icon;base64,imageData</>

어디에imageDataBase64 데이터입니다.

$encoded_data = base64_encode(file_get_contents('path-to-your-image.jpg'));    

rfc2397에 대한 개요는 다음과 같습니다.

Base64 인코딩된 이미지 데이터를 가져오면 "로 접두사가 붙은 <Image> </Image> 태그 안에 넣습니다.data:{mimetype};base64,이것은 괄호 안에서 행해진 접두사와 유사합니다.url()CSS 또는 인용된 값의 정의src의 속성img[X]HTML의 태그입니다. 당신은 파이어폭스의 데이터 URL을 테스트할 수 있습니다.data:image/...URL 필드에 줄을 서서 Enter 키를 누르면 이미지가 표시됩니다.

실제로 인코딩을 위해서는 PHP 뿐만 아니라 당신의 모든 옵션을 검토해야 한다고 생각합니다. 왜냐하면 base64 인코딩에는 매우 많은 방법이 있기 때문입니다.

  1. 사용base64명령줄 도구.이것은 GNU 코어유틸리티(v6+)의 일부이며 Cygwin, Linux, GnuWin32 설치에서는 거의 기본값이지만 제가 시도한 BSD는 아닙니다.문제:$ base64 imagefile.ico > imagefile.base64.txt
  2. 플러그인 ->MIME 도구 ->base64 인코딩 기능이 있는 메모장++같이 base64로 변환하는 옵션이 있는 도구를 사용합니다.
  3. 전자 메일로 파일을 보내고 원시 전자 메일 내용을 보고 복사하여 붙여넣습니다.
  4. 양식을 사용합니다.

MIME 유형에 대한 참고:다음 중 하나를 사용하십시오.image/png image/jpeg또는image/gif인기있는 것을 찾을 수 없기 때문에image/x-icon그렇다면image/vnd.microsoft.icon또한 다른 형식은 훨씬 더 짧습니다.

265바이트와 1150바이트 비교:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAVFBMVEWcZjTcViTMuqT8/vzcYjTkhhTkljT87tz03sRkZmS8mnT03tT89vTsvoTk1sz86uTkekzkjmzkwpT01rTsmnzsplTUwqz89uy0jmzsrmTknkT0zqT3X4fRAAAAbklEQVR4XnXOVw6FIBBAUafQsZfX9r/PB8JoTPT+QE4o01AtMoS8HkALcH8BGmGIAvaXLw0wCqxKz0Q9w1LBfFSiJBzljVerlbYhlBO4dZHM/F3llybncbIC6N+70Q7OlUm7DdO+gKs9gyRwdgd/LOcGXHzLN5gAAAAASUVORK5CYII=

data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAD/////ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv///////////2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb///////////9mZmb/ZmZm//////////////////////////////////////////////////////9mZmb/ZmZm////////////ZmZm/2ZmZv//////ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv//////ZmZm/2ZmZv///////////2ZmZv9mZmb//////2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb//////2ZmZv9mZmb///////////9mZmb/ZmZm////////////////////////////8fX4/8nW5P+twtb/oLjP//////9mZmb/ZmZm////////////////////////////oLjP/3eZu/9pj7T/M2aZ/zNmmf8zZpn/M2aZ/zNmmf///////////////////////////////////////////zNmmf8zZpn/M2aZ/zNmmf8zZpn/d5m7/6C4z/+WwuH/wN/3//////////////////////////////////////+guM//rcLW/8nW5P/x9fj//////9/v+/+w1/X/QZ7m/1Cm6P//////////////////////////////////////////////////////7/f9/4C+7v8xluT/EYbg/zGW5P/A3/f/0933/9Pd9//////////////////////////////////f7/v/YK7q/xGG4P8RhuD/MZbk/7DX9f//////4uj6/zJh2/8yYdv/8PT8////////////////////////////UKbo/xGG4P8xluT/sNf1////////////4uj6/zJh2/8jVtj/e5ro/////////////////////////////////8Df9/+gz/P/////////////////8PT8/0944P8jVtj/bI7l/////////////////////////////////////////////////////////////////2yO5f8jVtj/T3jg//D0/P///////////////////////////////////////////////////////////3ua6P8jVtj/MmHb/+Lo+v////////////////////////////////////////////////////////////D0/P8yYdv/I1bY/9Pd9///////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==

다음 예를 확인합니다.

// First get your image
$imgPath = 'path-to-your-picture/image.jpg';
$img = base64_encode(file_get_contents($imgPath));
echo '<img width="100" height="100" src="data:image/jpg;base64,'. $img .'" />'

Google이 이 솔루션(base64_encode)으로 안내했습니다.이것이 도움이 되길 바랍니다!

언급URL : https://stackoverflow.com/questions/35879/base64-encoding-image

반응형