日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一段Big5繁体转换简体GB2312的程序

發(fā)布時(shí)間:2023/12/31 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一段Big5繁体转换简体GB2312的程序 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

//Big5繁體轉(zhuǎn)換簡(jiǎn)體的程序
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("請(qǐng)指定路徑!");
??}
??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("轉(zhuǎn)換 {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);
?}
}

總結(jié)

以上是生活随笔為你收集整理的一段Big5繁体转换简体GB2312的程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。