zoukankan      html  css  js  c++  java
  • VS 2010 复制代码到word出现乱码解决办法

    代码部分属于转载,文字部分原创!

    直接复制VS2010的代码到Word里面去时,汉字会出现如下乱码,虽然可以采用记事本打开然后复制的方法,但是这样就失去了高亮色,不是我们想要的,下面的小程序就是解决这个问题的。

    乱码:

    if (dataObject.GetDataPresent(DataFormats.Rtf))
                {
                    //取¨?出?RTF格?式º?
                    string rtf = dataObject.GetData(DataFormats.Rtf) as string;
                    //以°?Regex.Replace去¨£¤除y多¨¤余®¨¤字Á?元a(註]: 不?管¨¹是º?否¤?有®D問?題
    }

     

    程序截图:

    使用时,先正常复制代码到剪贴板,然后点击“乱码修正”按钮,最后直接粘贴到Word里面就不会有乱码了。

    附代码:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace VS中文乱码修复程序
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button乱码修正_Click(object sender, EventArgs e)
            {
                //取得剪贴板内容
                IDataObject dataObject = Clipboard.GetDataObject();
                if (dataObject.GetDataPresent(DataFormats.Rtf))
                {
                    //取出RTF格式
                    string rtf = dataObject.GetData(DataFormats.Rtf) as string;
                    //以Regex.Replace去除多余字元(註: 不管是否有問題,一律強制處理)
                    string fixedRtf =
                      System.Text.RegularExpressions.Regex.Replace(rtf, @"\\uinput2(?<uc>\\u-?\d*)\s..",
                    (m) =>
                    {
                        return m.Groups["uc"].Value + "?";
                    });
                    //另建新DataObject物件
                    DataObject newDataObject = new DataObject();
                    //RTF格式用修正後的字串,其餘依原值
                    foreach (String t in dataObject.GetFormats())
                        newDataObject.SetData(t,
                        t == "Rich Text Format" ? fixedRtf :
                        dataObject.GetData(t));
                    //将修正内容写入剪贴板
                    Clipboard.SetDataObject(newDataObject, true);
                    MessageBox.Show("中文乱码修正成功!\n现在您可以直接到Word里按Ctrl+V粘贴了!", "成功");
                }
                else
                    MessageBox.Show("您粘贴的不是代码!","错误");
            }
        }
    }
  • 相关阅读:
    如何利用JMeter模拟超过 5 万的并发用户
    JQUERY插件JqueryAjaxFileUplaoder----更简单的异步文件上传
    jmeter内存溢出处理方式记录
    JMeter压力测试入门教程[图文]
    本机Tomcat启动myeclipse,用Jmeter录制脚本端口冲突解决办法
    Jmeter 录制脚本
    Jmeter基础之---jmeter基础概念
    Jmeter性能测试 入门
    SSH Secure Shell Client安装和使用
    面向对象2
  • 原文地址:https://www.cnblogs.com/liuxianan/p/2554128.html
Copyright © 2011-2022 走看看