哥怒了,找个真正能用的批量GBK转utf8编码转换器就这么难?

时间:2022-12-27 14:06:47
要求能循环把一个目录下的所有文件及下级目录的网页文件,全部由GBK编码转成uft8.
下了n个了,要么只能按文件转,不能转整个目录的;要么不能循环下级目录的;要么偏偏不能转GBK的;要么干脆啥都不干,直接把源文件给变成空白文件;还有的干脆看不明白咋用的,像是火星来的程序员写的。
大家伙帮帮忙,一定要自己亲自用过的,不要在网上搜的。先行谢过了。

8 个解决方案

#1


http://download.csdn.net/detail/okjxdn/2025076

#2


你自己写个方法,从某个文件路径得到下面的所有目录及文件。
然后调用转码的方法不就行了。

#3


引用 2 楼  的回复:
你自己写个方法,从某个文件路径得到下面的所有目录及文件。
然后调用转码的方法不就行了。

大牛

#4


 public class GetFileInfo
    {
        DataTable dt;

        public UpdateFile()
        {
            dt = new DataTable();
            dt.Columns.Add("directory");
            dt.Columns.Add("filename");
            dt.Columns.Add("filelength");
            dt.Columns.Add("addtime");
        }

        /// <summary>
        /// 通过路径获取该路径下所有文件
        /// </summary>
        /// <param name="path"></param>
        /// <returns></returns>
        public DataTable GetAllFiles(string path)
        {
            DirectoryInfo di = new DirectoryInfo(path);
            //获取该目录下的所有文件
            FileInfo[] fiArray = di.GetFiles();
            for (int i = 0; i < fiArray.Length; i++)
            {
                string[] temp = { fiArray[i].DirectoryName, fiArray[i].Name, fiArray[i].Length.ToString(), fiArray[i].LastWriteTime.ToString() };
                dt.Rows.Add(temp);
            }
            //获取该目录下的所有子目录
            DirectoryInfo[] diArray = di.GetDirectories();
            for (int j = 0; j < diArray.Length; j++)
            {
                GetAllFiles(diArray[j].FullName);
            }
            return dt;
        }
    }

#5


以前给同事写过一个.
哥怒了,找个真正能用的批量GBK转utf8编码转换器就这么难?

#6


楼上在诱奸

#7


UTF8是老外用的,用汉字多的应该用Unicode

#8


该回复于2013-03-20 11:35:13被管理员删除

#1


http://download.csdn.net/detail/okjxdn/2025076

#2


你自己写个方法,从某个文件路径得到下面的所有目录及文件。
然后调用转码的方法不就行了。

#3


引用 2 楼  的回复:
你自己写个方法,从某个文件路径得到下面的所有目录及文件。
然后调用转码的方法不就行了。

大牛

#4


 public class GetFileInfo
    {
        DataTable dt;

        public UpdateFile()
        {
            dt = new DataTable();
            dt.Columns.Add("directory");
            dt.Columns.Add("filename");
            dt.Columns.Add("filelength");
            dt.Columns.Add("addtime");
        }

        /// <summary>
        /// 通过路径获取该路径下所有文件
        /// </summary>
        /// <param name="path"></param>
        /// <returns></returns>
        public DataTable GetAllFiles(string path)
        {
            DirectoryInfo di = new DirectoryInfo(path);
            //获取该目录下的所有文件
            FileInfo[] fiArray = di.GetFiles();
            for (int i = 0; i < fiArray.Length; i++)
            {
                string[] temp = { fiArray[i].DirectoryName, fiArray[i].Name, fiArray[i].Length.ToString(), fiArray[i].LastWriteTime.ToString() };
                dt.Rows.Add(temp);
            }
            //获取该目录下的所有子目录
            DirectoryInfo[] diArray = di.GetDirectories();
            for (int j = 0; j < diArray.Length; j++)
            {
                GetAllFiles(diArray[j].FullName);
            }
            return dt;
        }
    }

#5


以前给同事写过一个.
哥怒了,找个真正能用的批量GBK转utf8编码转换器就这么难?

#6


楼上在诱奸

#7


UTF8是老外用的,用汉字多的应该用Unicode

#8


该回复于2013-03-20 11:35:13被管理员删除