Vad är filformatet ICNS?
.icns är ett binärt containerformat som används av macOS. .icns-filer lagrar olika ikoner som används av applikationer. Varje applikation kan ha sin egen ikonfil, vanligtvis sparad i mappen Contents/Resources/ i app-paketet. Referenser till .icns-filer listas även i .plist-konfigurationsfiler. Ikoner i .icns-filer kan visas med macOS Finder eller genom att öppna dem med valfri kompatibel bildvisare.
Formatet .icns stöder ikoner i olika storlekar, såsom 16×16, 32×32, 128×128, 256×256, 512×512 och 1024×1024 på nyare system. Äldre, mindre ikonelement lagrar 24-bitars färg med en 8-bitars alfamask med hjälp av skurlängdskodning (RLE). Element på 256×256 och uppåt bäddar in en fullständig .png-bild - eller JPEG 2000 - vilket ger 32-bitars RGBA i Retina-upplösning.
Filen öppnas med 4-byte ASCII-magic icns följt av en 4-byte big-endian total fillängd. Innehållet är en serie ikonelement, där varje identifieras av en 4-byte OSType-tagg - till exempel ic09 för 512×512 och ic10 för 1024×1024. För att sätta samman en .icns-fil från källbilder tillhandahåller macOS kommandoradsverktyget iconutil: placera korrekt namngivna .png-filer i en .iconset-mapp och kör iconutil -c icns MyIcon.iconset. Formatet tjänar samma syfte på macOS som .ico-filen gör på Windows.
Säkerhet & trygghet
RISK: LOWEn .icns består av bilddata, inte exekverbar kod, så en äkta ikonfil är säker att öppna i en visare. Två mindre varningar: bildtolkare (parsers) har historiskt haft buggar (en felaktig ikon skulle i teorin kunna krascha ett bildbibliotek), så håll ditt operativsystem/visare uppdaterad; och en oväntad «ikon» som ber om att få KÖRAS, eller en körbar fil maskerad med ett ikonliknande namn, bör behandlas med misstänksamhet. För app-ikoner och nedladdade ikonpaket från normala källor finns i princip ingen risk.
Formatdetaljer
i ett nötskalProgram som öppnar ICNS-filer
Tekniska detaljer
djup specifikation| Fil-magic | `icns` (0x69 0x63 0x6E 0x73) vid offset 0 |
| Header-struktur | 4-byte magic + 4-byte big-endian total fillängd, följt av en serie ikonelement |
| Byte-ordning | Big-endian för alla heltal med flera byte |
| Format för ikonelement | {4-byte OSType-tagg, 4-byte elementlängd, data} - ett block per storlek/variant |
| Kodning för små element | Skurlängdskodning (RLE) för 24-bitars färgbitmaps (`is32`, `il32` och liknande äldre typer) |
| Kodning för stora element | Inbäddad PNG eller JPEG 2000 för element på 256×256 och uppåt |
| Färgdjup | 24-bitars färg + 8-bitars alfamask (RLE-element); 32-bitars RGBA via inbäddad PNG (moderna element) |
| Stödda storlekar | 16×16, 32×32, 128×128, 256×256, 512×512, 1024×1024 (även 512×512@2× Retina) |
| Vanliga OSType-taggar | `ic07` 128×128, `ic08` 256×256, `ic09` 512×512, `ic10` 1024×1024, `is32`/`il32` äldre 16/32 px |
| MIME-typ | `image/icns`; även registrerad som `image/x-icns` |
| Plats i app-paket | `Contents/Resources/<AppName>.icns` inuti ett macOS `.app`-paket |
| Verktygskedja för bygge | `iconutil -c icns MyIcon.iconset` konverterar en `.iconset`-mapp med PNG-filer till en enskild `.icns`-fil |
| Valfritt TOC-element | Ett valfritt `TOC `-element (med efterföljande mellanslag) i början av elementlistan möjliggör snabb sökning utan en fullständig filskanning |
| Integritetsmekanism | Längdfält per element och 4-byte header för fillängd; ingen kryptografisk kontrollsumma |
| Typisk filstorlek | Några KB (minimalt storleksset) till flera hundra KB (fullt Retina-storleksset) |
| Släppt | 1998 (Mac OS 8.5); replaced the classic resource-fork 'icns' icon resource as a standalone file |
| Senaste version | Retina/HiDPI variants and PNG/JPEG2000-compressed elements up to 1024x1024 (since macOS 10.7 Lion, 2011) |
| Specifikation | en.wikipedia.org |
ICNS-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om ICNS-filer.