精华内容
下载资源
问答
  • 摘要:  最近在制作手册的时候遇到了一个问题'...所以自己就写了个程序,批量修改文件编码格式。 代码: /** * 修改文件编码格式,例如:GBK转UTF8 * 支持多级目录 * @param {String} [root_path] [需要进行转...

    摘要:

      最近在制作手册的时候遇到了一个问题'文档乱码',查看文件之后发现文件编码不对,总共100多个文件,如果用编辑器另存为utf8,那就悲催了。所以自己就写了个程序,批量修改文件编码格式。

    代码:

    /**
     * 修改文件编码格式,例如:GBK转UTF8
     * 支持多级目录
     * @param {String} [root_path] [需要进行转码的文件路径]
     * @param {Array}  [file_type] [需要进行转码的文件格式,比如html文件]
     * @param {String} [from_code] [文件的编码]
     * @param {String} [to_code]   [文件的目标编码]
     */
    
    // 引入包
    var fs = require('fs'),
      iconv = require('iconv-lite');
    
    // 全局变量
    var root_path = './html',
        file_type = ['html', 'htm'],
        from_code = 'GBK',
        to_code   = 'UTF8';
    
    /**
     * 判断元素是否在数组内
     * @date   2015-01-13
     * @param  {[String]}   elem [被查找的元素]
     * @return {[bool]}        [description]
     */
    Array.prototype.inarray = function(elem) {
      "use strict";
      var l = this.length;
      while (l--) {
        if (this[l] === elem) {
          return true;
        }
      }
      return false;
    };
    
    
    /**
     * 转码函数
     * @date   2015-01-13
     * @param  {[String]}   root [编码文件目录]
     * @return {[type]}        [description]
     */
    function encodeFiles(root) {
      "use strict";
      var files = fs.readdirSync(root);
      files.forEach(function(file) {
        var pathname = root + '/' + file,
          stat = fs.lstatSync(pathname);
        if (!stat.isDirectory()) {
          var name = file.toString();
          if (!file_type.inarray(name.substring(name.lastIndexOf('.') + 1))) {
            return;
          }
          fs.writeFile(pathname, iconv.decode(fs.readFileSync(pathname), from_code), {
            encoding: to_code
          }, function(err) {
            if (err) {
              throw err;
            }
          });
        } else {
          encodeFiles(pathname);
        }
      });
    }
    encodeFiles(root_path);

     

    小结:

      上面的程序支持多级目录,同一个文件不能进行多次操作,否则又会出现乱码。

    完整代码:https://github.com/baixuexiyang/coding,你可以fork到自己的账号下,如果有bug请在issue上提。

    展开全文
  • 所以自己就写了个程序,批量修改文件编码格式。 代码: 复制代码 代码如下: /**  * 修改文件编码格式,例如:GBK转UTF8  * 支持多级目录  * @param {String} [root_path] [需要进行转码的文件路径]  * @param {...
  • 主要介绍了javascript批量修改文件编码格式的方法,分析了使用javascript第三方包批量修改文件编码的技巧,需要的朋友可以参考下
  • 主要为大家详细介绍了python批量修改文件编码格式的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 本文实例为大家分享了python批量修改文件编码格式的具体代码,供大家参考,具体内容如下使用说明:1、使用工具:Python2.7.6+chardet2.3.0,chardet2.3.0下载地址:点击这里2、环境配置:Python安装+配置环境变量,...

    本文实例为大家分享了python批量修改文件编码格式的具体代码,供大家参考,具体内容如下

    使用说明:

    1、使用工具:Python2.7.6+chardet2.3.0,chardet2.3.0下载地址:点击这里

    2、环境配置:Python安装+配置环境变量,chardet解压放在Python安装目录\Lib\site-packages下

    举例:批量修改当前路径下所有.cpp文件的编码格式为UTF-8,代码如下:

    python:

    import os

    import sys

    import codecs

    import chardet

    def convert(filename,out_enc="UTF-8"):

    try:

    content=codecs.open(filename,'r').read()

    source_encoding=chardet.detect(content)['encoding']

    print source_encoding

    content=content.decode(source_encoding).encode(out_enc)

    codecs.open(filename,'w').write(content)

    except IOError as err:

    print("I/O error:{0}".format(err))

    def explore(dir):

    for root,dirs,files in os.walk(dir):

    for file in files:

    if os.path.splitext(file)[1]=='.cpp':

    print file

    path=os.path.join(root,file)

    convert(path)

    def main():

    explore(os.getcwd())

    if __name__=="__main__":

    main()

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

    本文标题: python批量修改文件编码格式的方法

    本文地址: http://www.cppcns.com/jiaoben/python/229299.html

    展开全文
  • Emeditor批量修改文件编码格式(UTF-8)-附件资源
  • 本文实例为大家分享了python批量修改文件编码格式的具体代码,供大家参考,具体内容如下使用说明:1、使用工具:Python2.7.6+chardet2.3.0,chardet2.3.0下载地址:点击这里2、环境配置:Python安装+配置环境变量,...

    本文实例为大家分享了python批量修改文件编码格式的具体代码,供大家参考,具体内容如下

    使用说明:

    1、使用工具:Python2.7.6+chardet2.3.0,chardet2.3.0下载地址:点击这里

    2、环境配置:Python安装+配置环境变量,chardet解压放在Python安装目录\Lib\site-packages下

    举例:批量修改当前路径下所有.cpp文件的编码格式为UTF-8,代码如下:

    python:

    import os

    import sys

    import codecs

    import chardet

    def convert(filename,out_enc="UTF-8"):

    try:

    content=codecs.open(filename,'r').read()

    source_encoding=chardet.detect(content)['encoding']

    print source_encoding

    content=content.decode(source_encoding).encode(out_enc)

    codecs.open(filename,'w').write(content)

    except IOError as err:

    print("I/O error:{0}".format(err))

    def explore(dir):

    for root,dirs,files in os.walk(dir):

    for file in files:

    if os.path.splitext(file)[1]=='.cpp':

    print file

    path=os.path.join(root,file)

    convert(path)

    def main():

    explore(os.getcwd())

    if __name__=="__main__":

    main()

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • python 3批量修改文件编码格式

    千次阅读 2018-09-27 21:36:17
    python 3批量修改文件编码格式 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对...

    参考Python_批量修改文件的编码格式
    修改为python 3

    # -*- coding: utf-8 -*-
    """
    Created on python 3.6 date : Wed Sep 26 00:24:55 2018
    
    @author: y_smile
    
    """
    
    import os
    import sys 
    #import codecs 
    import chardet 
     
    def convert(filename,out_enc='utf-8'): 
      try: 
        with open(filename,'rb') as f:
            content_bytes=f.read()
        print("0000000000000000000000000000000000000000000000")
        print(type(f))
        
        source_encoding=chardet.detect(content_bytes).get('encoding')
        print(chardet.detect(content_bytes))
    
        with open(filename,'r',encoding = source_encoding) as f :
            content_str=f.read()
        print(type(content_str))
        print("1111111111111111111111111111111111111111111111")
        print(filename)
    #    print(content_str)
        
        with open(filename,'w',encoding = out_enc) as f :
            f.write(content_str)
        
        with open(filename,'rb') as f :
            content_bb=f.read()
        print(chardet.detect(content_bb))
        
        statinfo=os.stat(filename)
        print(statinfo)
        
      except IOError as err: 
        print("I/O error:{0}".format(err)) 
     
    def explore(dir): 
      for root,dirs,files in os.walk(dir): 
        for file in files: 
          if os.path.splitext(file)[1]=='.txt': 
            print(file)
            path=os.path.join(root,file) 
            convert(path) 
     
    def main(): 
    #  explore(os.getcwd()) 
        explore("C:/Users/y_smile/Desktop/coding_2_utf8")
    #    explore('C:\\Users\\y_smile\\Desktop\\coding_2_utf8')
     
    if __name__=="__main__": 
      main() 
    
    展开全文
  • 创建hive 表使用hive -...使用edit plus批量修改文件编码格式utf-8 : 左边目录文件全选打开,菜单栏文档=》文本编码=》批量更改文本编码 点脚本,全选后点确定,修改为utf-8 菜单栏文件=》保存所有文件 ...
  • 今天才发现了Edit Plus有这么好用的功能,不仅能够批量转换文本编码,还能够批量转换文件格式(CR/LF).功能所在如下图所示:需要注意的是,能够被批量转换的文件都必须是已经打开的文件.如果需要修改文件很多,而且...
  • //方法一:修改目下所有文件编码格式 find * -exec sh -c "enconv -L zh_CN -x UTF-8 {}" \; //注意后面的结束标示 " \;" //方法二 mkdir output find *.txt -exec sh -c ...
  • import osimport sysimport codecsimport chardetdef convert(filename,out_enc="UTF-8"):try:content=codecs.open(filename,'r').read()source_encoding=chardet.detect(content)['encoding'] print source_enco...
  • iconv是linux系统命令,用于转换文件编码。当中文文件需要从gbk编码转为utf-8编码时,使用该命令能够快速的转换编码。 使用如下: iconv -f 原编码 -t 新编码 originfile -o newfile 利用bash脚本实现某个文件夹下...
  • Python3.6 批量修改文件编码格式

    千次阅读 2019-01-23 11:58:34
    遍历指定目录下的所有文件,读取.cpp文件和.h文件,将非utf-8编码文件改为utf-8格式
  • linux 批量修改文件编码格式

    千次阅读 2015-05-04 10:12:56
    最近在网上下载了一套游戏的代码 用lua写的 用sublime text2 ...安装enca可以查看编码格式 brew install enca enca file.srt enca -L 当前语言 文件名 enca -L zh_CN file //检查文件的编码 enca -L 当前语言
  • 背景 项目工程文件编码格式有utf-8,也有gb2312,在通过Source Insight 4.0打开文件只能设置一...为解决该问题,寻找批量文件编码格式转换工具(包括子目录)。 1.安装enca enca是Linux下的文件编码转换工具。 e...
  • 总是提示文件开头多出一个问号,怀疑和文件编码有关,用UltraEdit打开显示U8-UNIX,尝试改为UNIX下的ASCII编译,于是寻找可以批量更改文件编码格式的软件,没想到EditPlus 3就可以实现,只要全选需要修改的文件,...
  • 采用宏的形式进行,直接在Emeidor导入宏即可使用: ...找到EncodingChange.jsee文件即可。 链接:http://pan.baidu.com/s/1geNKA6f 密码:9u2m 转载于:https://www.cnblogs.com/EasonJim/p/6241840.html...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 432
精华内容 172
关键字:

批量修改文件编码格式