C# 如何同时从剪贴板获取文本及其格式?

C# 如何同时从剪贴板获取文本及其格式?,c#,C#,这是我要复制到浏览器页面上的文本。我试图使用Clipboard.GetText(TextDataFormat.Html)来获取Html,以便同时获取文本和保持格式,但是InnerText变为简述?Func<T>与?行动<T>的区别。我可以用它们所代表的字符替换转义字符,但我不知道原来的字符“?”是什么,因为我要用代码处理大量的信息,如果我必须检查每个句子,这是毫无意义的 我也试过这个 string text=Clipboard.GetText(Te

这是我要复制到浏览器页面上的文本。我试图使用
Clipboard.GetText(TextDataFormat.Html)
来获取Html,以便同时获取文本和保持格式,但是
InnerText
变为
简述?Func<T>与?行动<T>的区别。我可以用它们所代表的字符替换转义字符,但我不知道原来的字符“?”是什么,因为我要用代码处理大量的信息,如果我必须检查每个句子,这是毫无意义的

我也试过这个

string text=Clipboard.GetText(TextDataFormat.Html);
byte[]data=Encoding.Default.GetBytes(文本);
text=Encoding.UTF8.GetString(数据);
结果是一样的

以及“user32.dll”中的
GetClipboardData(uint-uFormat)
,这对您没有帮助

我实际上可以得到正确的文本
简述 Func与 行动的区别
进行编码>,但它将丢失样式


必须有一种方法可以同时获取文本和格式,因为当您粘贴到docx或其他软件上时,它可以以正确的格式显示文本。

您看到的文本是浏览器解释之前网页中的实际字符串。转换那些特殊序列,如
&lt,使用HtmlDecode。看

是的,它解决了问题。我发现空间变为“?”的原因是我在控制台上显示了html字符串,默认编码是
System.Text.DBCSCodePageEncoding
。当我将其设置为
UTF8
时,它显示了正确的字符串。无论如何,谢谢。