1. 程式人生 > >C#中關於從剪貼簿中讀取HTML格式含中文字元會出現的問題和解決方法

C#中關於從剪貼簿中讀取HTML格式含中文字元會出現的問題和解決方法

通過如下程式碼在剪貼簿中獲取含HTML格式的文字時發現當內容出現漢字的時候會有亂碼

if (Clipboard.ContainsText(TextDataFormat.Html))
textBox1.Text = Clipboard.GetText(TextDataFormat.Html);
通過剪貼簿工具分析,HTML格式的文字是UTF8編碼方式
看來Clipboard.GetText()是解碼出了問題
那就自己來完成這個解碼工作吧!
if (Clipboard.ContainsText(TextDataFormat.Html))
{
MemoryStream vMemoryStream = 
Clipboard

.GetData("Html Format") as MemoryStream;
vMemoryStream.Position = 0;
byte[] vBytes = new byte[vMemoryStream.Length];
vMemoryStream.Read(vBytes, 0, (int)vMemoryStream.Length);
textBox1.Text = Encoding.UTF8.GetString(vBytes);
}