js 顯示base64編碼的二進(jìn)制流網(wǎng)頁圖片
Data URI scheme。
Data URI scheme是在RFC2397中定義的,目的是將一些小的數(shù)據(jù),直接嵌入到網(wǎng)頁中,從而不用再從外部文件載入。比如上面那串字符,其實是一張小圖片,將這些字符復(fù)制黏貼到火狐的地址欄中并轉(zhuǎn)到,就能看到它了,一張2*2的白色gif圖片。
在上面的Data URI中,data表示取得數(shù)據(jù)的協(xié)定名稱,image/gif是數(shù)據(jù)類型名稱,base64 是數(shù)據(jù)的編碼方法,逗號后面就是這個image/gif文件base64編碼后的數(shù)據(jù)。
目前,Data URI scheme支持的類型有:
data:,文本數(shù)據(jù)
data:text/plain,文本數(shù)據(jù)
data:text/html,HTML代碼
data:text/html;base64,base64編碼的HTML代碼
data:text/css,CSS代碼
data:text/css;base64,base64編碼的CSS代碼
data:text/javascript,Javascript代碼
data:text/javascript;base64,base64編碼的Javascript代碼
data:image/gif;base64,base64編碼的gif圖片數(shù)據(jù)
data:image/png;base64,base64編碼的png圖片數(shù)據(jù)
data:image/jpeg;base64,base64編碼的jpeg圖片數(shù)據(jù)
data:image/x-icon;base64,base64編碼的icon圖片數(shù)據(jù)
base64簡單地說,它把一些 8-bit 數(shù)據(jù)翻譯成標(biāo)準(zhǔn) ASCII 字符,網(wǎng)上有很多免費的base64 編碼和解碼的工具,在PHP中可以用函數(shù)base64_encode() 進(jìn)行編碼,如echo base64_encode(file_get_contents(‘images/log.gif”'));
目前,IE8、Firfox、Chrome、Opera瀏覽器都支持這種小文件嵌入。
舉個圖片的例子:
網(wǎng)頁中一張圖片可以這樣顯示:
<img src=“http://www.jwzzsw.com/images/log.gif”/>
也可以這樣顯示:
<img src=“data:image/gif;base64,R0lGODlhAgACAIAAAP///wAAACwAAAAAAgACAAACAoRRADs=”/>
我們把圖像文件的內(nèi)容直接寫在了HTML 文件中,這樣做的好處是,節(jié)省了一個HTTP 請求。壞處呢,就是瀏覽器不會緩存這種圖像。
PS:這里再為大家提供一款在線圖片轉(zhuǎn)base64編碼工具與base64編碼轉(zhuǎn)換工具供大家參考使用:
圖片轉(zhuǎn)換為Base64編碼在線工具:http://tools.jb51.net/transcoding/img2base64
BASE64編碼解碼工具:http://tools.jb51.net/transcoding/base64
相關(guān)文章
使用clipboard.js庫實現(xiàn)復(fù)制剪切功能
這篇文章介紹了clipboard.js實現(xiàn)復(fù)制功能的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06淺析Javascript ES6新增值比較函數(shù)Object.is
在Javascript中判斷相等是很常見的,常用的判斷有“==”,“===”,“!=”,“!==”,今天這篇文章我們來學(xué)習(xí)ES6中的一個方法Object.is(),有需要的可以參考學(xué)習(xí)。2016-08-08JavaScript實現(xiàn)頁面滾動圖片加載(仿lazyload效果)
網(wǎng)上的很多這樣的效果都是用jQuery的方法,可是如果不用jQuery的站長難道就不能用這種方法了么2011-07-07