推荐:  位移传感器  压力传感器  奥运五环  Trade Laws  capture color  北京奥运会 

CFC文件格式详解(腾讯后来用了EIP的格式)

所属分类: 行业热门 > 常用资料  关键词: CFC文件


摘要 
CFC文件是腾讯最初的自定义表情文件包格式,后来又推出了EIP格式的自定义表情包,EIP有点复杂,暂时搞不懂,还是先说说CFC吧。CFC其实很简单,所以,说不上“详解”,也就是随便解一下。
 
Luma, 清华大学

--------------------------------------------------------------------------------

CFC格式简单到掉渣,没有文件头,也没有文件尾,由一系列块组成,一个块是一个自定义表情,块之间没有任何数据分隔,如此而已。这个文件用到的整数也都是little-endian格式的。CFC是什么简称?我不知道,可能是Custom Face Cab吧.


一个块有15个字段,如下 

md5的字符串形式长度,4个字节 
快捷键长度,4字节 
表情名称长度,4字节 
表情文件名长度,4字节 
表情文件长度,4字节 
微缩图文件名长度,4字节 
微缩文件长度,4字节 
表情文件帧数,4字节 
图片md5的字符串形式 
快捷键 
表情名称 
表情文件名 
微缩图文件名 
表情文件内容 
微缩图内容 

稍微解释一下这15个字段 

md5是16字节,32个16进制数,所以长度一般都是0x00000020 
快捷键知道是什么吧,这个长度是字节长度,1个汉字2个字节,不要忘记了 
表情名称不是指文件名称,只是表情的名字而已,你在用QQ管理自定义表情的时候,会看到这个玩意,一般来说它都和快捷键相同,当然并不需要相同。感觉这个没什么用,即使QQ自己也很少用到这个玩意 
QQ里面用md5加上扩展名表示一个自定义表情,它支持gif格式,bmp格式和jpg格式,比较常见的是gif格式的自定义表情,所以这个长度一般是32 + 4 
自定义表情文件的长度,没什么可解释的 
你在用自定义表情的时候,可以浏览有哪些表情,就好像你用ACDSee时候那样。所以,这个是微缩图的文件名,QQ的处理方式是把自定义表情缩小到20x20大小,然后保存为bmp格式,同时文件名采用“md5 + fixed.bmp”的形式,所以这个字段一般是32 + 9。但是这只是QQ的做法,你可以用别的,LumaQQ对于微缩图也用gif格式 
微缩图文件长度,没什么可解释的 
表情文件帧数,自定义表情很多都是动画,动画自然就是多帧的。LumaQQ没管这个,感觉用不上 
QQ一般都是用的大写形式,LumaQQ也用的是大写 
没什么可解释的 
没什么可解释的 
没什么可解释的 
没什么可解释的 
这里是真正的自定义表情数据了,你应该根据前面的长度,把这段数据保存为图像文件 
嗯,微缩图的数据 

可能是因为CFC太简单了,而且和腾讯的其他文件不协调,所以腾讯后来用了EIP的格式,EIP文件的格式和腾讯的其他文件格式是一致的,如果真能了解的话,那很多秘密估计又要浮出水面了。我觉得能处理CFC就够用了,EIP,算了,俺不会。 

总结
CFC格式太简单,总结也就不废话了.


开放行业词条:CFC文件格式详解(腾讯后来用了EIP的格式)
精彩分类推荐:休闲娱乐 小本创业 机械及行业设备 外贸专区 生活 化工