c# - 剪贴板中的 Null unicode 无法粘贴

标签 c# wpf

我在 wpf 中有一个按钮,单击该按钮会执行以下操作:

Clipboard.SetText("a\u0000b")

当我尝试将剪贴板的内容粘贴到记事本中时,我得到的是:

一个

如何获取整个字符串?

如果我在 wpf 控件中渲染此字符串,我会看到 a[square thing]b。换句话说, View 控件不会以空 unicode 字符终止。

最佳答案

我尝试查找是否可以在 Windows 中使用 NUL 复制文本,这大概是不可能的。也许您可以暂时用一些其他字符替换 NUL,这些字符永远不会出现在您处理的任何文本中(尽管有一天可能会出现,正如墨菲定律所述),然后打开文本文件并将所有出现的该字符转换回 NUL?

var text = "a\u0000b";
var textToCopy = text.Replace("\u0000", "\u3f45");

Clipboard.SetText(textToCopy);

// Next paste the contents to the file and reverse the replacement there

这是一种解决方法,但如果您是使用这些文本文件的人,则可能值得一试。

关于c# - 剪贴板中的 Null unicode 无法粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31796609/

相关文章:

c# - 从另一个 View 模型访问 MainViewModel

wpf - 当焦点来自后面的代码时,如何选择 WPF TextBox 中的所有文本?

javascript - .NET C# 使用 ExcelPackage 通过 JS post 导出到 excel

c# - 使用 Entity Framework 4 选择具有非标量键列表的多行的好方法

Wpf 应用程序崩溃 - 错误模块名称 coreclr.dll 版本 : 4. 700.20.47201

wpf - 无论如何从WPF中的资源文件中获取超链接内容

c# - 回调第二次不起作用

c# - 私有(private)构造函数和公有参数构造函数

c# - XmlDocument.SelectNodes不返回InfoPath XML的节点

c# - 无法从程序集加载类型 System.Runtime.Versioning.TargetFrameWorkAttribute