QQ、MSN聊天时的表情符号是怎么发送的?欢迎讨论。 (尚未解决) ( 积分: 100 )

  • 主题发起人 主题发起人 Corn2
  • 开始时间 开始时间
晕...我以为这段代码有错
 
传输的都是字符,如:大笑为:),当对方接收到内容后,自动筛选出各类符号表情,再用客户机上的图片取代显示
 
那自定义表情怎么处理?
 
自定义表情只能发送RTF
 
动态表情。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2914522
 
我怀疑QQ是通过RTF串的方式发送聊天内容的,大家有没有注意到一个现象:在发送时,会把发送内容先全部选定,然后再发送出去。我知道RichEdit2有一个属性:RTFSelText,就是得到所选内容的RTF串。而且,通过RTF串发送有一个好处:不用再自己处理字体、颜色等格式信息,因为这些都直接体现在RTF串里。
 
处理这些串也是一个算法问题,我也在研究,呵
 
对呀,以前老版本的QQ就有个rtf溢出的漏洞

{/rtf1/ansi/ansicpg936/deff0/deflang1033/deflangfe2052{/fonttbl{/f0/fnil/fprq2/fcharset134 /'cb/'ce/'cc/'e5;}}
{/colortbl ;/red255/green0/blue255;}
/viewkind4/uc1/pard/cf1/kerning2/f0/fs18121111111111111111111111111111111110000 www.yoursft.com/fs20/par
}
 
我以前也碰到过类似问题。
我的处理方法是:把每个预定义表情所对应的RTF串、代表该表情的那个字符串以及该表情本身(BMP)存入一个列表。在发送时,取得每个所要发送的表情对应的RTF串,再在列表中查找所对应的表情符号,然后转化成代表该表情的那个字符串,然后发送。当然,为提高效率,可以为每个表情符号的RTF串提取特征码,然后只要比较特征码就可以了。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
916
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部