ICNS格式文件用途及分析
Icns 何方神圣,
当我们解包Mac OS X 中的 APP 时,以系统自带的词典APP为例,我们看到扩展名为 icns 的 文件(图 1)。
(图 1)
那么这个icns 是何方神圣,以下让我们一探究竟。
苹果图标图像格式即icns是苹果用于MacOS X 应用程序的图标格式。它支持的图标大小有16 × 16, 32 × 32, 48 × 48, 128 ×128, 256 × 256, 512 × 512, and 1024 × 1024像素, 这些图标可以带有1到8位的alpha通道和多个图像状态(例如:打开和不安比文件夹).操作系统根据实际的屏幕情况能够对这些固定大小的图标进行缩放,来显示任何中间尺寸。
Icns其实是一个图标的容器,我们预览词典的图标文件 Dictionary.icns,
我们可以看到,标号为1到10,尺寸从大到小的10个图标文件,
此处我们截了3张图。
文件结构:
文件是由8位的头部和数量不等的图标文件数据组成。
头部
长度偏移 |
长度 |
描述 |
0 |
4 |
文件类型标识,必须是"icns" (0x69, 0x63, 0x6e, 0x73) |
4 |
4 |
文件长度,字节表示, msb first |
我们使用UItraEdit打开文件:
4至7字节为文件大小:图中为00 18 34 8D,我们转为十进制并与文件大小对比
头部信息完全一致。
图标数据
长度偏移 |
长度 |
描述 |
0 |
4 |
图标类型,参考 OSType表格. |
4 |
4 |
数据长度,字节表示(包括类型和长度), msb first |
8 |
不定 |
图标数据 |
图标类型
OSType |
长度(字节) |
尺寸(像素) |
支持的OS版本 |
Description |
ICON |
128 |
32 |
1.0 |
32×32 1-bit mono icon |
ICN# |
256 |
32 |
6.0 |
32×32 1-bit mono icon with 1-bit mask |
icm# |
48 |
16 |
6.0 |
16×12 1 bit mono icon with 1-bit mask |
icm4 |
96 |
16 |
7.0 |
16×12 4 bit icon |
icm8 |
192 |
16 |
7.0 |
16×12 8 bit icon |
ics# |
64 (32 img + 32 mask) |
16 |
6.0 |
16×16 1-bit mask |
ics4 |
128 |
16 |
7.0 |
16×16 4-bit icon |
ics8 |
256 |
16 |
7.0 |
16x16 8 bit icon |
is32 |
varies (768) |
16 |
8.5 |
16×16 24-bit icon |
s8mk |
256 |
16 |
8.5 |
16x16 8-bit mask |
icl4 |
512 |
32 |
7.0 |
32×32 4-bit icon |
icl8 |
1,024 |
32 |
7.0 |
32×32 8-bit icon |
il32 |
varies (3,072) |
32 |
8.5 |
32x32 24-bit icon |
l8mk |
1,024 |
32 |
8.5 |
32×32 8-bit mask |
ich# |
288 |
48 |
8.5 |
48×48 1-bit mask |
ich4 |
1,152 |
48 |
8.5 |
48×48 4-bit icon |
ich8 |
2,304 |
48 |
8.5 |
48×48 8-bit icon |
ih32 |
varies (6,912) |
48 |
8.5 |
48×48 24-bit icon |
h8mk |
2,304 |
48 |
8.5 |
48×48 8-bit mask |
it32 |
varies (49,152) |
128 |
10.0 |
128×128 24-bit icon |
t8mk |
16,384 |
128 |
10.0 |
128×128 8-bit mask |
icp4 |
varies |
16 |
10.7 |
16x16 icon in JPEG 2000 orPNG format |
icp5 |
varies |
32 |
10.7 |
32x32 icon in JPEG 2000 orPNG format |
icp6 |
varies |
64 |
10.7 |
64x64 icon in JPEG 2000 orPNG format |
ic07 |
varies |
128 |
10.7 |
128x128 icon in JPEG 2000 orPNG format |
ic08 |
varies |
256 |
10.5 |
256×256 icon in JPEG 2000 orPNG format |
ic09 |
varies |
512 |
10.5 |
512×512 icon in JPEG 2000 orPNG format |
ic10 |
varies |
1024 |
10.7 |
1024×1024 in 10.7 (or 512x512@2x "retina" in 10.8) icon inJPEG 2000 orPNG format |
ic11 |
varies |
32 |
10.8 |
16x16@2x "retina" icon in JPEG 2000 orPNG format |
ic12 |
varies |
64 |
10.8 |
32x32@2x "retina" icon in JPEG 2000 orPNG format |
ic13 |
varies |
256 |
10.8 |
128x128@2x "retina" icon in JPEG 2000 orPNG format |
ic14 |
varies |
512 |
10.8 |
256x256@2x "retina" icon in JPEG 2000 orPNG format |
长度列中出现在括号中的值是未压缩时的数据长度.
ICNS格式文件用途及分析相关推荐
- 【数据压缩3】WAV格式文件分析
目录 WAV格式文件概述 关于RIFF文件格式 WAV文件内部结构 WAV格式文件具体实例分析 1.RIFF标头部分 2.fmt部分 3.data部分 问题 WAV格式文件概述 Waveform Au ...
- linux怎么查看一个bam文件,生信分析过程中这些常见文件的格式以及查看方式你都知道吗?...
原标题:生信分析过程中这些常见文件的格式以及查看方式你都知道吗? 生信分析过程中,会与很多不同格式的文件打交道,除了原始测序数据 fastq 之外,还需要准备基因组文件 fasta 格式和基因注释文件 ...
- 对于TGA格式文件的分析
一.TGA格式文件概述 TGA格式图片文件(Tagged Graphics)是由美国Truevision公司为其显示卡开发的一种图像文件格式,文件后缀为".tga",已被国际上的图 ...
- 生信笔记 | 自定义GSEA分析中的gmt格式文件
在GSEA分析中,在MSigDB(Molecular Signatures Database)数据库中定义了很多基因集,下载的基因集是gmt格式文件.下载的gmt格式文件,打开后可以看见是下面这个样子 ...
- PNG格式文件的分析
文章目录 PNG格式文件分析 PNG格式简介 PNG文件结构如何 FILEHEAD的组成 PNG Chunk Critical Chunk Ancillary Chunk 如何获取PNG的元数据信息 ...
- 常用视频文件的介绍(二):MP4--常用存储和光盘视频格式文件
文章目录 MP4文件格式介绍 MP4的各个部分 相关文章 MP4文件格式介绍 MP4是一套用于音频.视频信息的压缩编码标准,由国际标准化组织(ISO)和国际电工委员会(IEC)下属的"动态图 ...
- BIOM格式文件_微生物组数据通用数据格式
生物观测矩阵(Biological Observation Matrix,BIOM)是微生物组数据通用数据格式(The Biological Observation Matrix (BIOM) for ...
- fastq质量值_fastq格式文件处理大全(四)
计算机的角度来说,生物的序列属于一种字符串,也是一种文本,因此生物信息分析属于文本处理范畴.文本存储为固定格式文件,生物信息的工作就是各种文本文件之间格式的转换,例如通过序列拼接将fastq转换为fa ...
- 创建ogg文件 c语言,Ogg音频格式文件的样本构造(CVE-2018-5146)
原标题:Ogg音频格式文件的样本构造(CVE-2018-5146) *严正声明:本文仅限于技术讨论与分享,严禁用于非法途径 下面的所有分析都是在Firefox 59.0 32位上进行的.由于笔者是刚入 ...
最新文章
- ubuntu下配置华为交换机s2016
- python property
- Docker源码分析(六):Docker Daemon网络
- DNS服务器全面解析--转
- 用python让excel飞起来 pdf_电脑卡?用u盘制作一个提速工具飞起来
- 【BZOJ 1266】 [AHOI2006]上学路线route
- codeforces 153d(日期转换)特殊题目
- ECMAScript 6:更好的 Unicode 支持
- RTT线程管理篇——RTT时间片
- Eclipse,新建web项目后 出现jax-ws webservice
- 理解 LSTM 及其图示
- java中伪代码_问Java的伪代码怎么书写
- java applet的方法_Java Applet的常用方法
- 草图大师SketchUp2019下载与安装教程
- centos 安装 谷歌BBR
- keil中设置的flash(irom)的起始地址为0x08000000,这个0x08000000的意义------stm32地址映射图解析
- 你大概走了假敏捷:《手绘敏捷宝典》在此,还不来收!
- 《科研诚信与学术规范》
- AUTOSAR MCAL PWM
- 灌篮青春完结篇----灌篮.青春
热门文章
- 批量PDF文件合并用什么软件?这两个宝藏软件赶快收藏起来
- 计算机二级基础知识【重】
- 上联:男足输完日本,输越南
下联:女足赢完越南,赢日本
横批:公仇母报
- iOS 如何获取手机型号、系统版本、电池电量
- python中import re_python中re模块
- 动态规划旅游问题:汽车加满油可以跑n千米,中途有若干个加油站,请用动态规划的方式求解中途加油次数最少的方案。
- 翻译GDC演讲:《Procedurally Crafting Manhattan for ‘Marvel‘s Spider-Man‘》(在‘漫威蜘蛛侠’中使用程序化的方式精心制作曼哈顿)
- 基于vue和nodejs毕业设计酒店预约管理系统
- 【Plant Biotech. J.】DcMYB113可调节胡萝卜中花青素的生物合成和修饰
- Qt,C++开发炫酷圆形扇形菜单面板