从网页中拷贝一段有颜色的文字,粘贴到word中是有颜色的,粘贴到txt文件是无颜色的,那么拷贝的是什么?

发布于 2022-08-30 16:46:24 字数 368 浏览 35 评论 0

如果是红色的world,代码可能是world,但真正拷贝的应该不是它,直接复制这段代码复制到word中还是显示这段代码而不是红色的hello。曾把word文档另存为rtf,找到world对应的字段

<w:r w:rsidRPr="00903B1E">
<w:rPr>
<w:color w:val="FF0000"/>
</w:rPr>
<w:t>world
</w:t>
</w:r>

复制到word文档中还是显示代码而不是红色的world。

所以,不知道拷贝的时候,计算机到底储存了什么,支持富文本的编辑器和普通的txt文档是如何处理这些信息的?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

桜花祭 2022-09-06 16:46:24

这个问题的答案在于Windows的剪贴板本身。
因为Windows的剪贴板是支持富文本的,为了实现这种功能,事实上其内部对同一个数据(就是当你按下键盘上的Ctrl+C后)会保存不同格式的多个版本。具体的版本类型可以参考http://msdn.microsoft.com/en-us/library/windows/desktop/ms649013%28v=vs.85%29.aspx,有十来种呢。
我们最常用的一种,是从网页中复制一段内容,这时其实剪贴板会保存两种格式,一种是CF_TEXT格式,就是剔除格式信息后的可见文本,粘贴到记事本中输出的就是这种;另一种是CF_HTML格式,可以参考http://msdn.microsoft.com/en-us/library/windows/desktop/ms649015%28v=vs.85%29.aspx,包含所复制区域的完整HTML格式信息。word本身是支持HTML格式的,因此粘贴到word时会用这种格式输出。

我还记得以前有一段时间,从word复制内容出来粘贴到QQ上老是会变成图片发送出去,猜测应该是QQ从剪贴板读取数据时优先提取了CF_BITMAP格式所致。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文