这问题困扰了足足两天,最后才知道Clipboard 保存的数据不支持UTF8编码,所以要经过转换。
1、保存数据:
中文内容(UTF8)
var bytes = Encoding.UTF8.GetBytes("中文内容(UTF8)");
var data= Encoding.Default.GetString(bytes);
var dataObject = new DataObject();
dataObject.SetData(DataFormats.Html, data);
2、读取数据:
同理反向转换编码:
var text = Clipboard.GetText(TextDataFormat.Html);
byte[] data = Encoding.Default.GetBytes(text);
text = Encoding.UTF8.GetString(data);
就这么简单。