您现在的位置是:主页 > news > 仪征建设局网站/西地那非

仪征建设局网站/西地那非

admin2025/6/14 22:18:59news

简介仪征建设局网站,西地那非,网站导航html源码,广州专业做网站建设该楼层疑似违规已被系统折叠 隐藏此楼查看此楼一般情况下不开官方的QQ客户端,而是用一些开源的QQ客户端,比如 Luma QQ 和 Gaim 等。最近看到一些QQ表情挺有意思的,可惜非官方的客户端上不能安装表情文件包,实在不想因为这些表情启…

仪征建设局网站,西地那非,网站导航html源码,广州专业做网站建设该楼层疑似违规已被系统折叠 隐藏此楼查看此楼一般情况下不开官方的QQ客户端,而是用一些开源的QQ客户端,比如 Luma QQ 和 Gaim 等。最近看到一些QQ表情挺有意思的,可惜非官方的客户端上不能安装表情文件包,实在不想因为这些表情启…

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

一般情况下不开官方的QQ客户端,而是用一些开源的QQ客户端,比如 Luma QQ 和 Gaim 等。最近看到一些QQ表情挺有意思的,可惜非官方的客户端上不能安装表情文件包,实在不想因为这些表情启动官方的客户端,于是写个脚本把里面的图片提出来,这样想在什么地方用都行了。

#

#         QQ表情Gif文件提取

#

#         搜索D盘根目录下的 eip 文件,

#         输出其中的 GIF 到 d:/tmpGif目录

#

#         AntiyLabs

#      不累的王

#         2006-10-18

#

import os

import glob

sum = 0

# gif 的文件头为 GIF87a, GIF89a

gHead = 'GIF8'

# gif 的结尾标志为 \x3b\x00

gFoot = '\x3b\x00'

for i in glob.glob('d:/*.eip'):

print "processing\t" + i

# 二进制方式打开文件

# QQ的表情文件包啊,真是...连个压缩都没有...

# 头部一堆填充数据,然后是一个XML,描述GIF文件名称和对应的BMP缩略图

# 然后就是一个接一个的原始图片文件数据了

#...别的俺也不关心,俺只想要里面的GIF。忽略XML部分,直接找GIF文件特征~

content = open(i, 'rb').read()

# 创建每个表情文件对应的子目录

dirname = os.path.join(r'd:/tmpGif', os.path.split(i)[1])

os.mkdir(dirname)

gset = content.find(gHead)

while True:

glen = content[gset : ].find(gFoot) + len(gFoot)

# 为啥要找第二个结束标志呢?gif那个官方文档啊...简直形同虚设么...

# 有可能是什么"应用程序扩展"的结束符--"出现次数可能大于等于0"...不管了。

glen += content[gset + glen:].find(gFoot) + len(gFoot)

fname = os.path.join(dirname, os.tmpnam().strip('\\') + '.gif')

print '%s:\ngset: %u\nglen: %u'%(fname, gset, glen)

#a = raw_input()

fo = open(fname, 'wb')

fo.write(content[gset : gset+glen])

fo.close()

step = content[gset + glen : ].find(gHead)

if step < 0:

break

gset += glen + step

sum += 1

print '%u Files Extract Complete!'%(sum)

转自:创意安天论坛