Windows 圖示 (.ico)
微軟 標準Windows 圖示資源(ICO)是微軟的多解析度圖示容器格式,常用於網站我的最愛圖示(favicon)與 Windows 圖示。
將 ICO 轉換為 PNG
免費的瀏覽器端 ICO 轉 PNG 轉換器。在您的裝置上即時轉換檔案。
檢查與中繼資料
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 ICO 檔案:
位元組層級標頭簽章(檔案簽章)
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 ICO 檔案:
十六進位簽章(偏移量 0):
00 00 01 00ASCII 表示法: ....
標準化: 微軟 Windows 圖示資源規格
技術規格
| 容器架構 | 6 位元組的 ICONDIR 標頭包含一個 2 位元組的保留欄位(0)、一個 2 位元組的類型欄位(圖示為 1)以及一個 2 位元組的圖片數量欄位;這些是欄位,而非獨立的固定簽章。其後為 16 位元組的 ICONDIRENTRY 記錄與 DIB 或 PNG 圖片資料 |
| 壓縮 | 未壓縮的 DIB 或 PNG 壓縮串流(適用於 256x256 圖示) |
| 位元組序 | 小端序(Intel x86) |
| 色彩空間 | 裝置 RGB, sRGB |
| 色版與結構 | 1 位元單色、4 位元 / 8 位元調色盤、24 位元 RGB,或帶有透明度的 32 位元 RGBA |
| 最大尺寸 | 256 x 256 像素(支援多解析度組合:16x16、32x32、48x48、64x64、128x128、256x256) |
| 透明度 | XOR / AND 二進位透明度遮罩或完整的 8 位元平滑 alpha 通道 |
| 串流與漸進式 | 無法串流的圖示目錄容器 |
技術比較矩陣:ICO 對比競爭格式
| 技術屬性 | ICO (目前) | PNG | SVG | CUR |
|---|---|---|---|---|
| 多解析度儲存 | 單一檔案內嵌多種尺寸 | 僅單一圖片尺寸 | 無限向量縮放 | 多種游標尺寸 |
| 我的最愛圖示支援 | 瀏覽器廣泛支援;詳細資訊視版本而異 | 現代瀏覽器支援 | 現代瀏覽器支援 | 無(僅限滑鼠游標) |
| 資源類型 ID | 0x0001(圖示) | 標準圖片檔案 | W3C XML 向量圖 | 0x0002(帶熱點的游標) |
| 最大尺寸 | 256 x 256 像素 | 幾乎無限制 | 無限(向量) | 256 x 256 像素 |
常見損壞模式與十六進位修復指南
瀏覽器標籤頁顯示空白的預設文件頁面,而非自訂網站圖示。
根本原因: 我的最愛圖示缺少標準 16x16 或 32x32 解析度項目,或包含損壞的 DIB 表頭。
修復: 使用 File2File.app 我的最愛圖示產生器重新產生多解析度 ICO 檔案。
安全性分析與解析器攻擊向量
ICO 檔案包含指定資料位移的目錄表格,必須進行驗證以防止緩衝區溢位弱點。
已知攻擊向量
- 圖片目錄計數中的整數溢位,導致小記憶體配置與堆積緩衝區溢位。
- 損壞的圖片位元組位移指標,導向對映檔案記憶體之外的讀取。
- 在 256x256 圖示項目內嵌 PNG 解壓縮炸彈。
防禦最佳實務: 確保所有目錄項目位移皆嚴格落在 ICO 檔案的實體界線內。
歷史起源與里程碑
2006Windows Vista 開始支援內嵌於 ICO 格式中的 PNG 壓縮 256x256 圖示。
1999Internet Explorer 5 將「favicon.ico」普及化,用於網站圖示;其他圖片格式也可用於我的最愛圖示。
1985Windows 1.0 推出時即原生支援 .ICO 格式的桌面捷徑圖形。
主要優勢與優點
- 在單一檔案內封裝多種圖片解析度(例如 16x16、32x32、48x48、256x256),以便在所有 DPI 縮放比例下都能清晰顯示。
- 受到許多瀏覽器和桌面應用程式支援,其行為視平臺與版本而定。
- 在傳統容器內支援現代的 256x256 高解析度 PNG 壓縮。
技術限制與缺點
- 現代網頁瀏覽器偏好標準的 SVG 與 PNG 我的最愛圖示,勝過舊有多資源 ICO 容器。
- 舊軟體中的傳統 1 位元 XOR 透明度遮罩會產生鋸齒狀的像素邊緣。
- 固定的解析度限制(每個圖示影格最多 256x256 像素)。
有趣的技術冷知識
- 在早期 Windows 版本中,圖示限制為 16 種顏色的 32x32 像素。
- 當 Internet Explorer 5 推出我的最愛圖示時,網站可以透過計算伺服器記錄檔中對「/favicon.ico」的要求次數,來得知有多少人將其網頁加入書籤。
- ICO 檔案內的 256x256 圖示項目實際上包含一個完整有效的 PNG 檔案,並以 8 位元組的 PNG 簽章開頭。
常見技術問題
為什麼我的網站需要 favicon.ico?
當找不到符合的圖示時,部分瀏覽器或網路爬蟲可能會要求「/favicon.ico」,但實際行為各有不同。明確的圖示連結有助於用戶端找到目標圖示。
ICO 檔案應該包含哪些解析度?
專業的 ICO 檔案應包含 16x16、32x32、48x48 與 256x256 像素版本,以便在所有螢幕縮放比例與工作列上看起來都很清晰。
如何將 PNG 轉換為 ICO 檔案?
將您的 PNG 圖片拖放到 File2File.app,即可在您的網頁瀏覽器中即時產生最佳化的多解析度 ICO 檔案。