【问题标题】:Clipboard.GetText剪贴板.GetText
【发布时间】:2014-03-01 23:32:45
【问题描述】:

当我从电子邮件中选择并复制此字形时:£ (0x00a3)

然后运行:

message=Clipboard.GetText();
if(message==""){
    Console.WriteLine("There is nothing on your clipboard.");

            Environment.Exit(0);
        }
    else{ Console.WriteLine(message); }

报告:“剪贴板上没有”

似乎 00a1-00ff 之间的所有字形都表现出相同的行为。

我查看了 Clipboard.GetText 的重载...但无济于事。

【问题讨论】:

  • 那是一分钱,不是一磅。可能是你在电子邮件程序上花费的,再试一个。

标签: c# unicode character clipboard


【解决方案1】:

试试

   message=Clipboard.GetText(TextDataFormat.UnicodeText);

TextDataFormat.UnicodeText 指定标准的 Windows Unicode 文本格式。
然而,也有一个简单的 GetText 我没有遇到丢失的字符

Clipboard.SetText("£");
string s = Clipboard.GetText();
Console.WriteLine(s);

我找回了£ 字符。 (顺便说一下是0x00A3)

【讨论】:

  • 复制和粘贴您的代码可以正常工作。但是,当我从电子邮件或 vim 文件中复制字形时,剪贴板什么都没有。有什么进一步的建议吗?请注意,我原始问题中指定范围之外的其他字形按预期运行。可能与 ubuntu 12.04 的编码配置有关?也尝试使用 TextDataFormat.UnicodeText ...相同 ...剪贴板为空。
  • 您确定要复制文本数据吗?您的文件是否可能包含相关角色的图形?尝试将剪贴板粘贴到 MSPaint 中。只是为了测试。
  • MSPaint 不可用。但是,使用 Gimp 从纯文本文件复制和粘贴时,会报告“剪贴板上没有图像数据”。如前所述,这仅发生在 00a1-00af 中。所有其他人都很好地复制到剪贴板并按预期粘贴。剪贴板报告该系列字符为“空”。然而,很明显,剪贴板不是空的,因为我可以将有问题的字符粘贴到空白的 Thunderbird 电子邮件和文本文件中。
  • 对不起,那是 00a1-00FF
  • 有时,终端在尝试获取剪贴板时报告“无法设置 X 语言环境修饰符”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-07
  • 2010-09-11
  • 2010-11-02
  • 1970-01-01
相关资源
最近更新 更多