Hva er ICNS-filformatet?
.icns er et binært containerformat som brukes av macOS. .icns-filer lagrer ulike ikoner som brukes av applikasjoner. Hver applikasjon kan ha sin egen ikonfil, vanligvis lagret i mappen Contents/Resources/ i app-bunten. Referanser til .icns-filer er også oppført i .plist-konfigurasjonsfiler. Ikoner i .icns-filer kan vises ved hjelp av macOS Finder eller ved å åpne dem med en kompatibel bildeviser.
.icns-formatet støtter ikoner i ulike størrelser, som 16×16, 32×32, 128×128, 256×256, 512×512 og 1024×1024 på nyere systemer. Eldre, mindre ikonelementer lagrer 24-bit farger med en 8-bit alfamaske ved bruk av «run-length encoding». Elementer på 256×256 og oppover bygger inn et fullstendig .png-bilde - eller JPEG 2000 - som leverer 32-bit RGBA i Retina-oppløsning.
Filen åpnes med 4-byte ASCII-magi icns etterfulgt av en 4-byte «big-endian» total fillengde. Innholdet er en serie ikonelementer, hver identifisert av en 4-byte OSType-tag - for eksempel ic09 for 512×512 og ic10 for 1024×1024. For å sette sammen en .icns-fil fra kildebilder, tilbyr macOS kommandolinjeverktøyet iconutil: plasser korrekt navngitte .png-filer i en .iconset-mappe og kjør iconutil -c icns MyIcon.iconset. Formatet tjener samme formål på macOS som .ico-filen gjør på Windows.
Sikkerhet og trygghet
RISIKO: LOWEn .icns er bildedata, ikke kjørbar kode, så en ekte ikonfil er trygg å åpne i en bildeviser. To mindre forholdsregler: bildeparsere har historisk sett hatt feil (et feilutformet ikon kan i teorien krasje et bildebibliotek), så hold operativsystemet og bildeviseren oppdatert; og et uventet «ikon» som ber om å bli KJØRT, eller en kjørbar fil forkledd med et ikon-lignende navn, bør behandles med mistenksomhet. For app-ikoner og nedlastede ikonpakker fra normale kilder er det i praksis ingen risiko.
Formatdetaljer
i et nøtteskallProgrammer som åpner ICNS-filer
Tekniske detaljer
dyp spesifikasjon| Fil-magi | `icns` (0x69 0x63 0x6E 0x73) ved offset 0 |
| Header-struktur | 4-byte magi + 4-byte big-endian total fillengde, etterfulgt av en serie ikonelementer |
| Byterekkefølge | Big-endian for alle heltall over flere bytes |
| Format for ikonelement | {4-byte OSType-tag, 4-byte elementlengde, data} - én blokk per størrelse/variant |
| Koding for små elementer | Run-length encoding (RLE) for 24-bit farge-bitmaps (`is32`, `il32` og lignende eldre typer) |
| Koding for store elementer | Innebygd PNG eller JPEG 2000 for elementer på 256×256 og over |
| Fargedybde | 24-bit farge + 8-bit alfamaske (RLE-elementer); 32-bit RGBA via innebygd PNG (moderne elementer) |
| Støttede lerretsstørrelser | 16×16, 32×32, 128×128, 256×256, 512×512, 1024×1024 (også 512×512@2× Retina) |
| Vanlige OSType-tagger | `ic07` 128×128, `ic08` 256×256, `ic09` 512×512, `ic10` 1024×1024, `is32`/`il32` eldre 16/32 px |
| MIME-type | `image/icns`; også registrert som `image/x-icns` |
| Plassering i app-bunt | `Contents/Resources/<AppName>.icns` inne i en macOS `.app`-bunt |
| Byggeverktøy | `iconutil -c icns MyIcon.iconset` konverterer en `.iconset`-mappe med PNG-filer til en enkelt `.icns`-fil |
| Valgfritt TOC-element | Et valgfritt `TOC `-element (med et etterfølgende mellomrom) i starten av elementlisten muliggjør rask søking uten full filskanning |
| Integritetsmekanisme | Lengdefelt per element og 4-byte fillengde-header; ingen kryptografisk sjekksum |
| Typisk filstørrelse | Fra noen få KB (minimalt størrelsessett) til flere hundre KB (fullt Retina-størrelsessett) |
| Utgitt | 1998 (Mac OS 8.5); replaced the classic resource-fork 'icns' icon resource as a standalone file |
| Siste versjon | Retina/HiDPI variants and PNG/JPEG2000-compressed elements up to 1024x1024 (since macOS 10.7 Lion, 2011) |
| Spesifikasjon | en.wikipedia.org |
ICNS-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om ICNS-filer.