简体字和繁体字转换四种方法

1.VisualBasic转换

   1>引用Microsoft.VisualBasic;

   2>Strings.StrConv(jian, VbStrConv.TraditionalChinese, 0);  //简体字转换为繁体字

        Strings.StrConv(jian, VbStrConv.SimplifiedChinese, 0); //繁体字转换为简体字

VisualBasic

2.ChineseConverter转换

   1>引用Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter

    2>string temp_1 = ChineseConverter.Convert("理发加上发财,闹钟加上一见钟情,后来", ChineseConversionDirection.SimplifiedToTraditional);

         string temp_2 = ChineseConverter.Convert("理髮加上發财,鬧鐘加上一見鍾情,後來", ChineseConversionDirection.TraditionalToSimplified);

string temp_1 = ChineseConverter.Convert("理发加上发财,闹钟加上一见钟情,后来", ChineseConversionDirection.SimplifiedToTraditional);
            string temp_2 = ChineseConverter.Convert("理髮加上發财,鬧鐘加上一見鍾情,後來", ChineseConversionDirection.TraditionalToSimplified);
ChineseConverter

3.kernel32.dll转换

   1>引用System.Runtime.InteropServices

    2>代码如下: 引用以下方法的语句:

string F2J = ToTraditional(fanF, LCMAP_SIMPLIFIED_CHINESE);   //转简体

string J2F = ToTraditional(fanF, LCMAP_TRADITIONAL_CHINESE);  //转繁体

[DllImport("kernel32.dll", EntryPoint = "LCMapStringA")]
        public static extern int LCMapString(int Locale, int dwMapFlags, byte[] lpSrcStr, int cchSrc, byte[] lpDestStr, int cchDest);
        const int LCMAP_SIMPLIFIED_CHINESE = 0x02000000;
        const int LCMAP_TRADITIONAL_CHINESE = 0x04000000;

public static string ToTraditional(string source,int type)
        {
            byte[] srcByte2 = Encoding.Default.GetBytes(source);
            byte[] desByte2 = new byte[srcByte2.Length];
            LCMapString(2052, type, srcByte2, -1, desByte2, srcByte2.Length);
            string des2 = Encoding.Default.GetString(desByte2);
            return null;
        }
kernel32.dll

前三种方法转换对语义不能进行分析,比如说是:头发和发财的发对应的繁体字分别为:“髮”,“發”,前三种识别不了,转换完都为“發”

4.利用using Microsoft.Office.Interop.Word;

   1>引用Microsoft.Office.Interop.Word; 和   System.Reflection;两个命名空间,具体调用语句如下:

var fanW = CHS2CHT(jian);
var jianW = CHT2CHS(fanF);

/// <summary>
        /// 法4:简体转繁体
        /// </summary>
        /// <param name="src"></param>
        /// <returns></returns>
        public static string CHS2CHT(string src)
        {
            string des = "";
            _Application appWord = new Application();
            object template = Missing.Value;
            object newTemplate = Missing.Value;
            object docType = Missing.Value;
            object visible = true;
            Document doc = appWord.Documents.Add(ref template, ref newTemplate, ref docType, ref visible);
            appWord.Selection.TypeText(src);
            appWord.Selection.Range.TCSCConverter(WdTCSCConverterDirection.wdTCSCConverterDirectionSCTC, true, true);
            appWord.ActiveDocument.Select();
            des = appWord.Selection.Text;
            object saveChange = 0;
            object originalFormat = Missing.Value;
            object routeDocument = Missing.Value;
            appWord.Quit(ref saveChange, ref originalFormat, ref routeDocument);
            doc = null;
            appWord = null;
            GC.Collect();//进程资源释放
            return des;
        }
 /// <summary>
        /// 法4:繁体转简体
        /// </summary>
        /// <param name="src"></param>
        /// <returns></returns>
        public static string CHT2CHS(string src)
        {
            string des = "";
            _Application appWord = new Microsoft.Office.Interop.Word.Application();
            object template = Missing.Value;
            object newTemplate = Missing.Value;
            object docType = Missing.Value;
            object visible = true;
            Document doc = appWord.Documents.Add(ref template, ref newTemplate, ref docType, ref visible);
            appWord.Selection.TypeText(src);
            appWord.Selection.Range.TCSCConverter(WdTCSCConverterDirection.wdTCSCConverterDirectionTCSC, true, true);
            appWord.ActiveDocument.Select();
            des = appWord.Selection.Text;
            object saveChange = 0;
            object originalFormat = Missing.Value;
            object routeDocument = Missing.Value;
            appWord.Quit(ref saveChange, ref originalFormat, ref routeDocument);
            doc = null;
            appWord = null;
            GC.Collect();//进程资源释放
            return des;
        }
        
Word

整个项目路径(VS2013): 链接:http://pan.baidu.com/s/1qXEUVAs 密码:mltv

转载于:https://www.cnblogs.com/myyBlog/p/7724832.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
模仿语言包式的简繁转换功能插件,轻松实现繁体和简体互换,很方便,只有一个JS文件。Std_StranJF.js文件只支持GB2312码,big52gb.js支持utf-8。   一、将繁简互换JS文件上传至空间:   如果您调用的是,则将繁简互换JS文件(Std_StranJF.Js)上传至网站的js目录中。当然您也可以上传至网站的其他何地方,如根目录下。如果上传在网站根目录下,则要将调用代码改成:   二、页面调用的方法:   在您的网站中请按以下方法添加以下的代码:   1. 在页面中加上以下链接:   繁体中文   这个是每个页面中显示进行简繁转换的链接,您可以放在页面顶部,如顶部的导航处。   如果您用的是默认的动易模板,则进入网站后台,依次点击“系统设置”->“自定义标签管理”->“2006海蓝”->“{$MY_动易2006海蓝首页顶}”->点击“修改”链接,在出现的自定义标签内容页面中,找到“{$ShowChannel} {$Rss}{$Wap}”,修改成“{$ShowChannel} |繁体中文|{$Rss}{$Wap}”即可。当然您也可以放在任何您想要放置的地方。   2. 在页面中放以下代码:      这个是每个页面中要调用繁体和简体互换的JS代码,您放在页面底部,如前面。   如果您用的是默认的动易模板,则进入网站后台,依次点击“系统设置”->“自定义标签管理”->“2006海蓝”->“{$MY_动易2006海蓝网页底}”->点击“修改”链接,在出现的自定义标签内容页面中,找到“”,修改成“”即可。当然您也可以放在任何您想要放置的地方。   小提示:您也可以不修改自定义标签,而是通过系统模板批量替换功能来添加以上的代码。但利用修改模板的自定义标签内容更方便。在修改了自定义标签后要记得更新您网站的缓存。若您开启了网站的生成功能,则在添加了代码后要生成全部相关的页面。   三、繁简互换JS文件参数的修改:   您可以进一步修改繁简互换JS文件(Std_StranJF.Js)以达到您想要的效果。请以记事本打开修改Std_StranJF.Js文件:   var Default_isFT = 0 //默认是否繁体,0-简体,1-繁体   var StranIt_Delay = 50 //翻译延时毫秒(设这个的目的是让网页先流畅的显现出来)   同时如果您的网站中有本文件中没有放入的繁体与简体互换的内容,则可以在本文件中进一步添加与扩充,以满足您的应用需求。   小提示:本插件同时可用于论坛等需要进行繁简互换的地方。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值