Hvad er ICNS-filformatet?
.icns er et binært containerformat, der bruges af macOS. .icns-filer gemmer forskellige ikoner, der bruges af applikationer. Hver applikation kan have sin egen ikonfil, typisk gemt i mappen Contents/Resources/ i app-pakken. Referencer til .icns-filer er også angivet i .plist-konfigurationsfiler. Ikoner i .icns-filer kan ses ved hjælp af macOS Finder eller ved at åbne dem med en kompatibel billedfremviser.
.icns-formatet understøtter ikoner i forskellige størrelser, såsom 16×16, 32×32, 128×128, 256×256, 512×512 og 1024×1024 på nyere systemer. Ældre, mindre ikonelementer gemmer 24-bit farve med en 8-bit alfamaske ved hjælp af run-length encoding. Elementer på 256×256 og derover indlejrer et komplet .png-billede - eller JPEG 2000 - hvilket leverer 32-bit RGBA i Retina-opløsning.
Filen åbnes med 4-byte ASCII-magic icns efterfulgt af en 4-byte big-endian samlet fillængde. Indholdet er en række ikonelementer, hver identificeret af et 4-byte OSType-tag - for eksempel ic09 for 512×512 og ic10 for 1024×1024. For at samle en .icns-fil fra kildebilleder stiller macOS kommandolinjeværktøjet iconutil til rådighed: placer korrekt navngivne .png-filer i en .iconset-mappe og kør iconutil -c icns MyIcon.iconset. Formatet tjener samme formål på macOS, som .ico-filen gør på Windows.
Sikkerhed og tryghed
RISIKO: LOWEn .icns er billeddata, ikke eksekverbar kode, så en ægte ikonfil er sikker at åbne i en fremviser. To mindre forholdsregler: billed-PARSERE har historisk set haft fejl (et misdannet ikon kunne i teorien få et billedbibliotek til at gå ned), så hold dit OS/fremviser opdateret; og et uventet «ikon», der beder om at KØRE, eller en eksekverbar fil forklædt med et ikon-lignende navn, bør behandles med mistro. For app-ikoner og downloadede ikonpakker fra normale kilder er der stort set ingen risiko.
Formatdetaljer
kort fortaltProgrammer der åbner ICNS-filer
Tekniske detaljer
dyb specifikation| Fil-magic | `icns` (0x69 0x63 0x6E 0x73) ved offset 0 |
| Header-struktur | 4-byte magic + 4-byte big-endian samlet fillængde, efterfulgt af en række ikonelementer |
| Byte-rækkefølge | Big-endian for alle multi-byte heltal |
| Ikonelement-format | {4-byte OSType-tag, 4-byte elementlængde, data} - én blok pr. størrelse/variant |
| Kodning af små elementer | Run-length encoding (RLE) for 24-bit farve-bitmaps (`is32`, `il32` og lignende ældre typer) |
| Kodning af store elementer | Indlejret PNG eller JPEG 2000 for elementer på 256×256 og derover |
| Farvedybde | 24-bit farve + 8-bit alfamaske (RLE-elementer); 32-bit RGBA via indlejret PNG (moderne elementer) |
| Understøttede lærredstørrelser | 16×16, 32×32, 128×128, 256×256, 512×512, 1024×1024 (også 512×512@2× Retina) |
| Almindelige OSType-tags | `ic07` 128×128, `ic08` 256×256, `ic09` 512×512, `ic10` 1024×1024, `is32`/`il32` ældre 16/32 px |
| MIME-type | `image/icns`; også registreret som `image/x-icns` |
| Placering i app-pakke | `Contents/Resources/<AppName>.icns` inde i en macOS `.app`-pakke |
| Build-værktøjskæde | `iconutil -c icns MyIcon.iconset` konverterer en `.iconset`-mappe med PNG-filer til en enkelt `.icns`-fil |
| Valgfrit TOC-element | Et valgfrit `TOC `-element (med efterfølgende mellemrum) i starten af elementlisten muliggør hurtig søgning uden en fuld filscanning |
| Integritetsmekanisme | Længdefelter pr. element og 4-byte fillængde-header; ingen kryptografisk tjeksum |
| Typisk filstørrelse | Få KB (minimalt størrelsessæt) til flere hundrede KB (fuldt Retina-størrelsessæt) |
| Udgivet | 1998 (Mac OS 8.5); replaced the classic resource-fork 'icns' icon resource as a standalone file |
| Seneste version | Retina/HiDPI variants and PNG/JPEG2000-compressed elements up to 1024x1024 (since macOS 10.7 Lion, 2011) |
| Specifikation | en.wikipedia.org |
ICNS-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om ICNS-filer.