关于QQ超大彩色文字与RTF格式的问题。。。
圣诞节来了,QQ里都是一些彩色文字的圣诞祝福,打开聊天记录就可以发现,对方发送的其实是如下类似的RTF代码:
{\urtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\froman\fprq2\fcharset2 Webdings;}{\f1\froman\fprq2\fcharset0 Gungsuh;}}
{\colortbl ;\red255\green0\blue0;\red255\green0\blue255;\red0\green0\blue128;}
\viewkind4\uc1\pard\cf1\lang2052\f0\fs144 e\cf2\f1\fs56 ,\cf1\fs72 M\cf2\fs56 erry \cf1\b\fs72 C\cf2\b0\fs56 hristmas!\cf1\f0\fs144 Z\cf3
{\urtf{\fonttbl{\f0\a Impact;}{\f1\fcharset2 Wingdings;}{\f2\a ??;}}
{\colortbl ;\red139\green208\blue64;\red255\green128\blue0;\red0\green0\blue0;\red0\green128\blue0;\red255\green0\blue0;\red192\green192\blue192;}
\pard\f0\fs84 M\cf1 e\cf2 r\cf3 r\cf4 y\cf5\b\i\f1 %\b0\i0
\par \cf3\f0 \cf6\b\f1\{\cf5\b0\f0 X\cf2 '\cf3 m\cf4 a\cf1 s\cf0\f2\fs17
(不知道QQ怎么回事,它的RTF控件是以{urtf 做为标识,而系统中的RTF控件是{rtf)
我试着用VB来编写一个小程序来生成这样的代码,只要得到代码后将前面的{rtf改为{urtf ,再在QQ里发送就可以得到彩色、大小变化的有趣文字。但是有一点,如果其中使用中文,发送后看到的会是乱码。。。。郁闷!我下了结论,带中文的rtf代码在QQ中会产生乱码。
可是情况不是像我想的这样,今天居然收到了中文的、各种颜色的超大文字“圣诞快乐”,代码如下,我暂时把它叫作代码①
{\urtf{\fonttbl{\f0\a 宋体}}
{\colortbl ;\red255\green0\blue255;\red0\green0\blue255;\red255\green128\blue0;\red0\green255\blue0;\red128\green128\blue255;}
\pard\cf1\f0\fs150\u22307?\cf2\u35806?\cf3\u24555?\cf4\u20048?\cf5\u65281?\cf0\fs18
\par }
对照一下我用自已程序生成的代码,我暂时把它叫作代码②
{\urtf1\ansi\deff0{\fonttbl{\f0\fmodern\fprq6\fcharset134 \'8b\'53;}{\f1\fnil \'cb\'ce\'cc\'e5;}}
{\colortbl ;\red255\green0\blue255;\red0\green0\blue255;\red255\green128\blue0;\red0\green255\blue0;\red128\green128\blue255;}
\viewkind4\uc1\pard\cf1\lang2052\f0\fs150\'ca\'a5\cf2\'b5\'ae\cf3\'bf\'ec\cf4\'c0\'d6\cf5\'a3\'a1\cf0\f1\fs18\par
}
两者存在很大的区别,而且代码①的开头是{urtf ,代码②是{urtf1,版本不同?所以二者编码方式不同?
我将代码①前面的{urtf改为{rtf,保存为文档1.rtf,然后用写字板打开,显示正常,然后我将它另存为文档2.rtf,再用写事本打开文档2.rtf,发现代码变成了和代码②一样.........
那么代码①是怎么回事?是怎么生成的呢?
求教!!!!!!!!!!!!!!!!