zoukankan      html  css  js  c++  java
  • 一段Big5繁体转换简体GB2312的程序

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

    //Big5繁体转换简体的程序
    public class EncodeTool
    {
     
     [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 void Main (String[] args)
        {
      if (args.Length<1)
      {
       Console.WriteLine("请指定路径!");
      }
      String[] files=Directory.GetFiles(args[0]);
      if(args.Length==2)
       files=Directory.GetFiles(args[0],args[1]);
      String dir=args[0]+"\\conv";
      if(!Directory.Exists(dir)){
       Directory.CreateDirectory(dir);
      }
      for(int i=0;i<files.Length;i++){
       StreamReader sr = new StreamReader(files[i],Encoding.GetEncoding("big5"));
       String lines=sr.ReadToEnd();
       sr.Close();
       lines=ConvertString(lines);
       //Console.WriteLine(lines);
       StreamWriter sw = new StreamWriter(dir+"\\"+files[i],false,Encoding.GetEncoding("gb2312"));
       sw.WriteLine(lines);
       sw.Close();
       Console.WriteLine("转换 {0} ok!",files[i]);
      }
     }

     public static String ConvertString(String lines){
      Encoding gb2312 = Encoding.GetEncoding(936);
      byte[] src=gb2312.GetBytes(lines);
      byte[] dest = new byte[src.Length];
      LCMapString(0x0804, LCMAP_SIMPLIFIED_CHINESE, src, -1, dest, src.Length);
      return gb2312.GetString(dest);
     }
    }

  • 相关阅读:
    MAC上Vue的一些安装及配置
    MySQL
    git
    win7系统的用户怎么去掉用户账户控制?
    JS
    IDEA使用总结
    Mybatis
    codeforces cf educatonal round 57(div2) D. Easy Problem
    codeforces round#509(div2) E. Tree Reconstruction
    codeforces round#509(div2) D. Glider
  • 原文地址:https://www.cnblogs.com/midea0978/p/408582.html
Copyright © 2011-2022 走看看