网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
关于转换QQ消息中系统表情,自定义表情和截图的函数
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式

    QQ的系统表情,自定表情和截图都是直接混合在文字信息中直接发送过来的,如果在接收到时不加转换,直接显示,会造成乱码。因此我们要把这些信息转化下再显示。

    关于这些表情,自定义表情和截图的说明如下:来源LumaQQ的代码注解

* <pre>
* 普通消息的本体,其在NormalIMHeader之后
*
* 普通消息中可能内嵌一些图片信息,除了普通的文本之外,图片的信息格式为:
* 一. 缺省表情,缺省表情的前导字节是0x14,0x14之后的一个字节表示缺省表情的索引值
* 二. 自定义表情,自定义表情的前导字节是0x15,0x15之后的格式为:
*       1. 存在性字节,如果这个表情第一次出现,则为0x33,如果已经出现过,则为0x34,当为0x33时,后面的内容是
*          i.   扩展名长度,1字节,以''0''为基准,''2''则表示长度为3
*       ii.  表情图片的文件名,其文件名由md5的字符串形式和扩展名构成,因此这个长度应该是32 + 1 + 3(一般是GIF)
*       iii. 表情的shortcut长度,以''A''为基准,如果长度是2,则这个字节是''C''
*       iv.  表情的shortcut
*    2. 如果为0x34时,则后面的内容为:
*          i.   1字节索引值,假如这个自定义表情出现在第一个位置,则这个字节为''A''  
*    3. 如果为0x36时,群内自定义表情
*          i. 自定义表情协议块的长度的10进制字符串形式,3字节,不足者前部填为空格,比如为了表示这个自定义表情用了
*          88个字节,那么这个字段就是" 88",呵呵,晕吧,注意这个长度是从0x15开始算起,一直到结束。注意这个长度
*          是字节长度
*       ii. 表情标识,1字节,标识这个表情是新的,还是已经出现过的,如果是新的自定义表情,用''e''表示;如果是截图,用''k''表示。如果是已经出现过的,
*           用一个大写字母表示,第一个新表情代号是A,第二个是B,以此类推
*       iii. 表情的快捷键字节长度,1字节,用一个大写字母表示,比如A表示长度为0,依次类推
*       iv. 后面的内容开始一直到agent key之前的内容的长度,2字节,用16进制的字符串表示
*       v. session id的16进制字符串形式,8字节,不足者前面是空格
*       vi. 中转服务器IP的16进制字符串形式,注意是little-endian,那么ipv4的话自然就是8个字节了
*       vii. 中转服务器端口号的16进制字符串形式,8个字节
*       viii. file agent key,16字节
*       ix. 图片的文件名,文件名的形式是MD5的字符串形式加上点加上后缀名而成,所以一般是36个字节,但是
*           我想最好还是根据前面的长度减去其他字段的长度来判断好些
*       x.  快捷键,长度前面已经说了
*       xi.

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号