在上一篇文章中讲到如何将gif复制到粘贴板,粘贴到QQ聊天窗口还能显示动画的动能,有些网友就有疑惑了(主要针对不懂C++代码的人而言),这些数字到底什么意思呢?这里具体讲解一下这些数字是怎么计算出来的:
例如:
Version:0.9 StartHTML:00000097 EndHTML:00000209 StartFragment:00000113 EndFragment:00000173 <html> <body> <!--StartFragment--> <img src="file:///D:/loading.gif" /> <!--EndFragment--> </body> </html>
下面显示的是每行文本的长度:
Version:0.9 // 第1行长度:11+2(CR+LF)
StartHTML:00000097 // 第2行长度:18+2(CR+LF) 97=前面5行数据长度总和,也就是html文本标签<html>之前的所有文本信息总长度
EndHTML:00000209 // 第3行长度:16+2(CR+LF) 209=总共12行数据总长度之和
StartFragment:00000113 // 第4行长度:22+2(CR+LF) 113=前面7行数据长度总和,也就是html文本标签<!--StartFragment-->之前的所有文本信息总长度
EndFragment:00000173 // 第5行长度:20+2(CR+LF) 173=前面9行数据长度总和,也就是html文本标签<!--EndFragment-->之前的所有文本信息总长度
<html> // 第6行长度:6+2(CR+LF)
<body> // 第7行长度:6+2(CR+LF)
<!--StartFragment--> // 第8行长度:20+2(CR+LF)
<img src="file:///D:/loading.gif" /> // 第9行长度:36+2(CR+LF)
<!--EndFragment--> // 第10行长度:18+2(CR+LF)
</body> // 第11行长度:7+2(CR+LF)
</html> // 第12行长度:7
StartHTML:97=13+20+18+24+22
StartFragment:113=97+8+8
EndFragment:173=113+22+38
EndHTML:209=173+20+9+7
疑惑:
Version:0.9 长度是11,为什么上面显示的是11+2=13呢?其实我们在编程写文本的时候,每行文件末尾就加了回车CR(\r)和换行LF(\n)符号,所以此处+2做了处理。
Unix系统里,每行结尾是<换行>,即“\n”。
Windows系统里,每行结尾是<回车>+<换行>,即“\r\n”。
Mac系统里,每行结尾是<回车>,即“\r”。