Base64 이미지 사용하기

2018.02.21 21:16

졸리운_곰 조회 수:111

Base64 이미지 사용하기

Base64가 뭐지??

“Base 64″란 8비트 이진 데이터(예를 들어 실행 파일이나, ZIP 파일 등)를 문자 코드에 영향을 받지 않는 공통 ASCII 문자열로 바꾸는 인코딩 방식을 가리키는 개념이다.

 

Base64 이미지 사용

이 아이콘을 Base64로 인코딩하면 아래와 같은 값을 얻을 수 있다. (http://www.base64-image.de/)

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

data:image/gif;base64,R0lGODlhDwAOAOYAAAAAAP///+Pj5MzS6qy33bfA4sDI5dne8I6e0JGg0Zim1Jqo1aGu2H6SyZOj0HWMxYWYytbY3V98vLG801p9ulN6u2SHw0JvtYiix8vU4TBmsDBmrx9fqyJgrEB1uGCOxRpeqoGjygdXpwlYpw5aqBVhrGOUx6C+3N/p8+/0+dzd3gBVpQNWpgtdphBgqxpmqxpnqyBqsDB1tmqbx3CfzJe62Z+/3a/K46/J4r/V6c/f7t/q9AJaoQhcpAlcpVuSwh9sqC10rF+Xv5G20cXY5cba5wxnnZu7zXKfthhxmS6EloezvVqcqFeeqJq+w1SjqYC0sajNysrh3drp4trn4fD49O/18vb6+Pf5+OXs6Pz9/Pv8+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAFwALAAAAAAPAA4AAAeYgAEBThYVFxocJCwrL4KCW0gIDxIUGyAiKys6jlMhCg0TKhgdI5kzjksGDA4RKgInLpkwglhHAwQJEBmCOrErOAFUNQcFCx4uN4IpMis/AUwrJh8lKy45gjvMLQFPmZkymwG9mT4oVU2ZMSmCNt5ARYJaUDwrNgE03kHrjgFRRisxvAnhx09KEm9DCBLMoqQHEYUKrVyBGAgAOw==

마크업과 css에서 이미지를 넣을 때 이미지 대신 Base64 문자열을 넣어주면 Base64 이미지를 넣을 수 있다.

/* 이미지태그 */
<img src="이미지.png" alt="" />
<img src="base64 인코딩 문자" alt="" />
/* background */
background:url(이미지.png);
background:url(base64 인코딩 문자);

 

장점

  1. 별도 이미지 파일이 필요 없다. 위의 문자열 자체가 이미지이기 때문에 별도 이미지 파일이 없어도 브라우저에서 이미지를 렌더링한다.
  2. 브라우저가 이미지를 렌더링할 때, 문서 로딩이 끝난 후에 이미지를 렌더링하기 시작하는데 이미지가 깜박이는 화면이 보이거나 네트워크가 좋지 않을 때 이미지가 로딩되지 않는 때도 있다. 만약 base64로 인코딩한 이미지를 사용하면, 문서를 로딩할 때 base64 이미지도 로딩되기 때문에 그런 현상이 사라진다.

 

단점

  1. 용량이 커진다. 위의 아이콘을 예로 들면 571바이트짜리 이미지가 인코딩 후에는 777바이트로 용량이 증가하였다. 약 137% 정도 커진다.
  2. 큰 이미지를 인코딩한 경우 어마어마한 길이의 base64 코드로 인코딩되기 때문에 소스의 가독성이 떨어진다.
  3. Base64 인코딩 이미지를 많이 사용할 경우, 문서 자체를 로딩하는데 많은 시간이 걸려 자칫 더 느리다는 느낌이 들 수 있다.

[출처] http://pilot376.tistory.com/3

  1.  
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
658 인공지능이 의식을 가질 수 있는가 file 졸리운_곰 2018.03.07 96
657 당근마켓에서 딥러닝 활용하기 - 불량 게시물 검사 file 졸리운_곰 2018.03.06 130
656 머신러닝 단기집중과정 by google 졸리운_곰 2018.03.04 89
655 한글 형태소 분석의 이해 NLP file 졸리운_곰 2018.03.04 83
654 루아 알고리즘 라이브러리 lua-algorithms stack queue tree file 졸리운_곰 2018.03.03 1385
653 VB.NET 알고리즘 구현 - Stack, Queue Data Type file 졸리운_곰 2018.02.27 310
652 TopCoder 사용 방법 (탑코더 시작하기) file 졸리운_곰 2018.02.26 360
651 MXNet을 활용한 이미지 분류 앱 개발하기 file 졸리운_곰 2018.02.25 118
650 [Artificial Intelligence / MXNet] MXNet을 이용한 Classification 문제 풀기 file 졸리운_곰 2018.02.25 66
649 [Artificial Intelligence / MXNet] Windows 환경에 MXNet 설치하기 file 졸리운_곰 2018.02.25 93
648 [Artificial Intelligence / MXNet] MXNet 소개 file 졸리운_곰 2018.02.25 98
647 Blender 단축키 file 졸리운_곰 2018.02.25 156
646 Blender 단축키 정리 모음 file 졸리운_곰 2018.02.25 164
645 [자바스크립트] 선택한 이미지 base64 코드로 변환하여 화면에 보여주기 file 졸리운_곰 2018.02.21 253
644 [제목] 한번의 커넥션으로 이미지 모두 전송하는 방법 졸리운_곰 2018.02.21 101
643 data URIs로 image 생성하기 file 졸리운_곰 2018.02.21 92
» Base64 이미지 사용하기 file 졸리운_곰 2018.02.21 111
641 html img , a에 직접 이미지, 파일 데이터 넣기 졸리운_곰 2018.02.21 110
640 BASE64 로 인코딩 한 이미지 data를 직접 HTML 문서에 추가하는 방법 외 file 졸리운_곰 2018.02.21 296
639 Torch7 따라 해 보기 file 졸리운_곰 2018.02.19 88
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED