programing

Base64 인코딩 이미지

nasanasas 2020. 12. 1. 08:09
반응형

Base64 인코딩 이미지


Firefox / IE 용 개방형 검색 추가 기능을 구축 중이며 이미지는 Base64로 인코딩되어야하므로 내가 가지고있는 파비콘을 Base 64로 인코딩하려면 어떻게해야합니까?

나는 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로 인코딩 된 이미지 데이터를 가져 오면 " data:{mimetype};base64," 접두사가 붙은 <Image> </ Image> 태그 안에 넣습니다. 이것은 url()CSS 정의 의 괄호 또는 src속성의 따옴표로 묶인 값에서 수행되는 접두사와 유사 합니다. img[X] HTML의 태그입니다. data:image/...URL 필드에 줄을 입력하고 Enter 키를 눌러 firefox에서 데이터 URL을 테스트 할 수 있습니다 . 그러면 이미지가 표시됩니다.

실제로 인코딩하려면 PHP뿐만 아니라 모든 옵션을 검토해야한다고 생각합니다. base64로 인코딩하는 방법은 매우 다양하기 때문입니다.

  1. base64명령 줄 도구를 사용합니다 . 그것은 GNU coreutils (v6 +)의 일부이며 Cygwin , L i n u x , GnuWin32 설치 에서 거의 기본값 이지만 내가 시도한 BSD는 아닙니다. 발행물:$ base64 imagefile.ico > imagefile.base64.txt
  2. 플러그인-> MIME 도구-> base64 인코딩에 기능이있는 Notepad ++ 와 같이 base64로 변환하는 옵션이있는 도구를 사용하십시오.
  3. 자신에게 파일을 이메일로 보내고 원시 이메일 내용을보고 복사하여 붙여 넣습니다.
  4. 양식을 사용하십시오 .

마임 유형에 대한주의 사항 : 당신이 중 하나를 사용하여 선호 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==

다음 예를 확인하십시오.

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

Google 이이 솔루션 (base64_encode)을 안내했습니다. 도움이 되었기를 바랍니다!

참고 URL : https://stackoverflow.com/questions/35879/base64-encoding-image

반응형