Windowsアイコン (.ico)
Microsoft 標準Windows アイコンリソース (ICO) は、Microsoft のマルチ解像度アイコンコンテナフォーマットであり、ウェブサイトのブラウザタブ用の標準的な「favicon.ico」フォーマットとしてウェブ全体で広く採用されています。
ICO を PNG に変換
無料のブラウザ内 ICO から PNG へのコンバーター。お使いのデバイスでファイルを即座に変換します。
調査とメタデータ
オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで ICO ファイルを識別します:
バイトレベルのヘッダーシグネチャ (マジックバイト)
オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで ICO ファイルを識別します:
16進数シグネチャ (オフセット 0):
00 00 01 00ASCII表現: ....
標準化: Microsoft Windows Icon Resource Specification
技術仕様
| コンテナアーキテクチャ | ICONDIR header with resource type 1 (Icon) followed by ICONDIRENTRY array and DIB/PNG streams |
| 圧縮 | Uncompressed DIB or PNG compressed streams (for 256x256 icons) |
| バイトエンディアン | Little-Endian (Intel x86) |
| 色空間 | Device RGB, sRGB |
| チャンネルと構造 | 1-bit monochrome, 4-bit / 8-bit paletted, 24-bit RGB, or 32-bit RGBA with alpha |
| 最大寸法 | 256 x 256 pixels (supports multi-resolution suites: 16x16, 32x32, 48x48, 64x64, 128x128, 256x256) |
| 透過性 | XOR/AND binary transparency mask or full 8-bit smooth alpha channel |
| ストリーミングとプログレッシブ | Non-streamable icon directory container |
技術比較マトリックス: ICO 対 競合製品
| 技術属性 | ICO (現在) | PNG | SVG | CUR |
|---|---|---|---|---|
| マルチ解像度ストレージ | 1 つのファイルに複数のサイズが埋め込まれている | 単一の画像サイズのみ | 無限のベクターのスケーリング | 複数のカーソルサイズ |
| ファビコンのサポート | すべてのレガシーおよび最新ブラウザで 100% 普遍的 | 最新ブラウザでサポート | 最新ブラウザでサポート | なし (マウスポインタのみ) |
| リソースタイプ ID | 0x0001 (アイコン) | 標準画像ファイル | W3C XML ベクター | 0x0002 (ホットスポット付きカーソル) |
| 最大寸法 | 256 x 256 ピクセル | 実質的に無制限 | 無限 (ベクター) | 256 x 256 ピクセル |
一般的な破損モードと16進数リカバリガイド
ブラウザタブにカスタムのウェブサイトアイコンの代わりに空白のデフォルトドキュメントページが表示されます。
根本原因: ファビコンに標準の 16x16 または 32x32 の解像度エントリが欠落しているか、破損した DIB ヘッダーが含まれていることが原因です。
復旧: File2File ファビコンジェネレーターを使用して、マルチ解像度 ICO ファイルを再生成してください。
セキュリティ分析とパーサー攻撃ベクトル
ICO ファイルには、バッファオーバーフローの脆弱性を防止するために検証する必要があるデータオフセットを指定するディレクトリテーブルが含まれています。
既知の攻撃ベクター
- 画像ディレクトリ数の整数オーバーフローにより、小さなメモリ割り当てとヒープバッファオーバーフローを引き起こす。
- マップされたファイルメモリの外側への読み取りを指示する、破損した画像バイトオフセットポインタ。
- 256x256 アイコンエントリ内に埋め込まれた PNG 展開ボム。
防御的ベストプラクティス:
歴史的背景とマイルストーン
主な利点とメリット
- 単一のファイル内に複数の画像解像度 (例: 16x16、32x32、48x48、256x256) をカプセル化し、すべての DPI スケールで鮮明な表示を実現します。
- これまでに構築されたすべてのウェブブラウザおよびデスクトップオペレーティングシステムとの普遍的な下位互換性。
- 古典的なコンテナ内で最新の 256x256 高解像度 PNG 圧縮をサポートします。
技術的な制限とデメリット
- 最新のウェブブラウザは、レガシーなマルチリソース ICO コンテナよりも、標準の SVG および PNG ファビコンを好みます。
- 古いソフトウェアにおけるレガシーな 1-bit XOR 透明マスクは、ギザギザのピクセル化されたエッジを生み出します。
- 固定された解像度の制限 (アイコンフレームあたり最大 256x256 ピクセル)。
興味深い技術トリビア
- 初期の Windows バージョンでは、アイコンは 16 色の 32x32 ピクセルに制限されていました。
- Internet Explorer 5 がファビコンを導入した際、ウェブサイトはサーバーログ内の「/favicon.ico」のリクエスト数を数えることで、何人のユーザーがページをブックマークしたかを把握していました。
- ICO ファイル内の 256x256 アイコンエントリには、8 バイトの PNG シグネチャで始まる完全で有効な PNG ファイルがそのまま含まれています。
よくある技術的な質問
なぜウェブサイトにfavicon.icoが必要なのですか?
HTMLでPNGファビコンを指定している場合でも、ウェブブラウザや検索エンジンのクローラーは、タブやブックマークのアイコンを表示するためにデフォルトで「/favicon.ico」を要求するためです。
ICOファイルにはどのような解像度を含めるべきですか?
プロ仕様のICOファイルには、すべてのモニターのスケールやタスクバーでシャープに表示させるために、16x16、32x32、48x48、256x256ピクセルのバージョンを含める必要があります。
PNGをICOファイルに変換するにはどうすればよいですか?
PNG画像をFile2File.appにアップロードすると、最適化されたマルチ解像度のICOファイルをウェブブラウザ内で即座に生成できます。