이미지 (jpg 또는 png)를 base64로 변환하면 더 커질까요, 아니면 같은 크기일까요? 얼마나 클까요?
내 웹 사이트에서 base64로 인코딩 된 이미지를 사용하는 것이 좋습니까?
이미지 (jpg 또는 png)를 base64로 변환하면 더 커질까요, 아니면 같은 크기일까요? 얼마나 클까요?
내 웹 사이트에서 base64로 인코딩 된 이미지를 사용하는 것이 좋습니까?
답변:
약 37 % 더 커집니다.
대략적으로 Base64로 인코딩 된 바이너리 데이터의 최종 크기는 원래 데이터 크기의 1.37 배입니다.
다음 은 David Calhoun 이 base64로 인코딩 할 때와하지 않을 때에 대한 정말 유용한 개요입니다 .
기본 답변 = gzip으로 압축 된 base64 인코딩 파일은 파일 크기가 표준 바이너리 (jpg / png)와 거의 비슷합니다. Gzip 바이너리 파일은 파일 크기가 더 작습니다.
테이크 아웃은 = 등, 인코딩 및 UI 아이콘을 Gzip으로 압축 몇 가지 장점이 있습니다,하지만 현명하지 못한 큰 사이즈의 이미지에 대해이 작업을 수행 할 수 있습니다.
이미지를 base64로 인코딩하면 이미지가 약 30 % 더 커집니다.
데이터 URI 스킴 에 대한 wikipedia 문서의 세부 사항을 참조하십시오 .
Base64로 인코딩 된 데이터 URI는 해당 바이너리보다 크기가 1/3 더 큽니다. (단, HTTP 서버가 gzip을 사용하여 응답을 압축하면이 오버 헤드가 2-3 %로 감소합니다.)
대답은 다음과 같습니다 .
base64 이미지는 더 크지 만 base64가 더 나은 선택 인 몇 가지 조건이 있습니다.
base64 이미지의 크기
Base64는 64 개의 다른 문자를 사용하며 이는 2 ^ 6입니다. 따라서 base64는 8 비트 문자 당 6 비트를 저장합니다. 따라서 비율은 변환되지 않은 데이터에서 base64 데이터로의 6/8입니다. 이것은 정확한 계산이 아니라 대략적인 추정치입니다.
예:
48kb 이미지는 base64 변환 이미지로 약 64kb가 필요합니다.
계산 : (48/6) * 8 = 64
Linux 시스템의 간단한 CLI 계산기 :
$ cat /dev/urandom|head -c 48000|base64|wc -c
64843
또는 이미지 사용 :
$ cat my.png|base64|wc -c
Base64 이미지 및 웹 사이트
이 질문은 대답하기가 훨씬 더 어렵습니다. 일반적으로 base64를 사용하면 이미지가 클수록 의미가 없습니다. 그러나 다음 사항을 고려하십시오.
base64로 인코딩 된 이미지를 사용하려면 더 많은 공간과 대역폭이 필요합니다. 그러나 사이트에 작은 이미지가 많이있는 경우 이미지를 base64로 인코딩하고 html에 배치하여 페이지 로딩 시간을 줄일 수 있습니다. 이런 식으로 클라이언트 브라우저는 이미지에 많은 연결을 할 필요가 없지만 html로 표시됩니다.