zoukankan      html  css  js  c++  java
  • 效率比微软版好N倍的简繁转换类

    参考http://blog.csdn.net/farawayplace613/archive/2008/09/14/2910527.aspx

    using System.Runtime.InteropServices;
    using System.Text;

    namespace GreenLoogDS.DAL
    {
        
    public class ChineseConverter
        {
            
    private static Encoding GB2312 = Encoding.GetEncoding(0x3a8);
            
    private const int LCMAP_SIMPLIFIED_CHINESE = 0x2000000;
            
    private const int LCMAP_TRADITIONAL_CHINESE = 0x4000000;

            [DllImport(
    "kernel32.dll", EntryPoint = "LCMapStringA")]
            
    public static extern int LCMapString(int Locale, int dwMapFlags, byte[] lpSrcStr, int cchSrc, byte[] lpDestStr, int cchDest);
            
    public static string Convert(string text, ChineseConversionDirection direction)
            {
                
    byte[] lpSrcStr = null;
                lpSrcStr 
    = GB2312.GetBytes(text);
                
    byte[] lpDestStr = new byte[lpSrcStr.Length];
                
    switch (direction)
                {
                    
    case ChineseConversionDirection.TraditionalToSimplified:
                        LCMapString(
    0x804, LCMAP_SIMPLIFIED_CHINESE, lpSrcStr, -1, lpDestStr, lpSrcStr.Length);
                        
    break;
                    
    case ChineseConversionDirection.SimplifiedToTraditional:
                        LCMapString(
    0x804, LCMAP_TRADITIONAL_CHINESE, lpSrcStr, -1, lpDestStr, lpSrcStr.Length);
                        
    break;
                }
                
    return GB2312.GetString(lpDestStr);
            }
        }
        
    public enum ChineseConversionDirection
        {
            SimplifiedToTraditional,
            TraditionalToSimplified
        }
    }
    作者: 火地晋
    出处: http://yelaiju.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    洛谷 P1045 【麦森数】快速幂
    洛谷 P4838 P哥破解密码 题解
    洛谷 P1609 最小回文数 题解
    洛谷 P4910 帕秋莉的手环 矩阵乘法+快速幂详解
    [SDOI2010]外星千足虫 题解 高斯消元+bitset简介
    UVA1386 【Cellular Automaton】题解
    JavaScript基础(.....持续待更)
    网页布局基础
    css浮动--float/clear通俗讲解(转载)
    css基础
  • 原文地址:https://www.cnblogs.com/yelaiju/p/1870390.html
Copyright © 2011-2022 走看看