character-encoding - “cut and paste”如何影响字符编码,什么会出错?

标签 character-encoding cut-and-paste

我在工具A中显示了一个编码为A的文档A,在工具B中显示了一个编码为B的文档B。如果我将B的一部分(部分)剪切并粘贴到A中,结果是什么字符编码?我意识到这取决于工具A和工具B以及粘贴缓冲区中的信息(大概可以包含编码?)和操作系统。

高质量的工具应该做什么?在实践中,有多少个常用工具(例如Word,TextPad,各种IDE等)做得很好?

最佳答案

首先,文本编辑器的文本内部表示形式与保存文件时如何编码(序列化)文本无关。因此,文档不是“编码”于编码中的。它是一系列抽象字符。将文档保存到文件(或通过网络传输)后,它就会被编码。

由每个应用程序决定将其放置在剪贴板上的内容。通常,知道其运行状况的Windows应用程序会将许多不同的表示形式放置在剪贴板上。当您粘贴其他应用程序时,该应用程序将寻找最适合其需要的表示形式。

在您的情况下,文本编辑器(知道它在做什么)会将选定字符串的Unicode表示形式放置到剪贴板上(在Windows中,Unicode通常以UTF-16的形式移动,但这并不重要)。当您粘贴另一个应用程序时,它将在选择点将该Unicode字符序列插入到文档中。

有一个名为“ClipSpy”的应用程序,它将帮助您以交互方式查看我在说什么。

关于character-encoding - “cut and paste”如何影响字符编码,什么会出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1929812/

相关文章:

php - json_encode 和波斯语单词?

.net - Winforms 文本框粘贴不可靠?

windows-phone-7 - 可以以编程方式使用新的WP7剪切和粘贴功能吗?

blogs - 当代码示例是博客上的图像时使用它们

R 截断具有特定编码的文本文件

ruby - UTF-8 Ruby 中的无效字节序列

c# - 删除 Silverlight TextBox 鼠标悬停边框的最简单方法是什么?

utf-8 - Jekyll frontmatter 出现在我的网站上,但未正确插入到我的默认布局中

python - suds 请求中的嵌套文本编码