背景:项目中有一些其他部门发过来的代码,编码格式有utf-8,也有GBK,而且是散乱在各个文件夹中的,处理起来十分的麻烦。我想把他们都转成统一的utf-8的格式。代码很简单,直接上代码好了。

import os,sys  

def convert( filename, in_enc = "gbk", out_enc="UTF-8" ):
try:
array = filename.split(".")
if "java" == array[-1]:
print 'Encode Converting (GBK to UTF-8) : ', filename
utfFile=open(filename)
tstr = utfFile.read()
tstr = tstr.decode(in_enc).encode(out_enc)
utfFile.close()
utfFile = open(filename, 'w')
utfFile.write(tstr)
utfFile.close()
except:
print " error" def explore(dir):
for root, dirs, files in os.walk(dir):
for file in files:
path = os.path.join(root, file)
convert(path) def main():
for path in ['.']:
print path
if os.path.isfile(path):
convert(path)
elif os.path.isdir(path):
explore(path) if __name__ == "__main__":
main()

  使用前需要配置python的环境,将这个文件放在工程目录下,双击执行就可以了。

将文件的编码格式转换为utf-8的更多相关文章

  1. Linux下文件字符编码格式检测和转换

    目前多数情况下, 我们遇到的非英文字符文件都是使用UTF-8编码的, 这时一般我们查看这些文件的内容都不会有问题. 不过有时, 我们有可能会遇到非UTF-8编码的文件, 比如中文的GBK编码, 或者俄 ...

  2. linux查看文件的编码格式的方法 set fileencoding PYTHON

    linux查看文件的编码格式的方法 set fileencoding   乱码原因:因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件.但是windows的本地默认编码是cp93 ...

  3. MyEclipse设置文件的编码格式

    在MyEclipse中复制properties文件的时候,发现一个问题,在EditPlus中打开文件中文可以正常显示,并且是UTF-8的编码格式. 但是将这个文件复制到MyEclipse中再打开时,中 ...

  4. 将字符串的编码格式转换为utf-8

    方式一: /** * 将字符串的编码格式转换为utf-8 * * @param str * @return Name = new * String(Name.getBytes("ISO-88 ...

  5. chardet库:识别文件的编码格式

    chardet库文档 http://chardet.readthedocs.io/en/latest/usage.html 小文件的编码判断 detect函数只需要一个 非unicode字符串参数,返 ...

  6. 转!! Eclipse设定和修改文件字符编码格式和换行符

    Window -> Preferences -> General -> Workspace : Text file encoding :Default : 选择此项将设定文件为系统默 ...

  7. eclipse中设置新建jsp文件的编码格式

    每次新建jsp文件时,默认都是ISO-8859-1,每次涉及有中文的时候都得改成UTF-8,这就很麻烦了. 解决的方法就是,设置新建jsp文件的编码格式. 解决方法 结果 或者更改它的encoding

  8. 批量修改文件的编码格式至UTF-8

    批量修改文件的编码格式至UTF-8 学习了: https://jingyan.baidu.com/article/e8cdb32b47a1ea37042bad11.html http://blog.c ...

  9. java中更新文件时,指定原文件的编码格式,防止编码格式不对,造成乱码

    1.pom中添加引入cpdetector(一个可以自动检测文本编码格式的项目) //pom中添加引入cpdetector(一个可以自动检测文本编码格式的项目) <dependency> & ...

随机推荐

  1. 常用的MAVEN公共私服

    flex-mojo http://repository.sonatype.org/content/groups/flexgroup flex相关 http://nexus.5amsolutions.c ...

  2. [POJ1852]Ants

    Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 12431   Accepted: 5462 Description An a ...

  3. 多线程归并排序(摘自githhub)

    package com.rationalcoding.sort; import java.util.ArrayList; import java.util.Arrays; import java.ut ...

  4. 如何通过Visual Studio发布Azure应用程序

    发布 Azure 云服务 使用 Azure Tools for Visual Studio,可以直接从 Visual Studio 将云服务发布到 Azure. 在发布 Azure 云服务之前,必须已 ...

  5. HW5.25

    public class Solution { public static void main(String[] args) { System.out.println(convertMillis(55 ...

  6. Dynamices CRM JS 类库 神器 XrmServiceToolkit - A Microsoft Dynamics CRM 2011 & CRM 2013 JavaScript Library

    XrmServiceToolkit - A Microsoft Dynamics CRM 2011 & CRM 2013 JavaScript Library http://xrmservic ...

  7. [置顶] 斗地主算法的设计与实现--项目介绍&如何定义和构造一张牌

    大学期间,我在别人的基础上,写了一个简易的斗地主程序. 主要实现了面向对象设计,洗牌.发牌.判断牌型.比较牌的大小.游戏规则等算法. 通过这个斗地主小项目的练习,提高了我的面向对象设计能力,加深了对算 ...

  8. 如何去掉WinForm或者WPF的最大化和最小化按钮

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何去掉WinForm或者WPF的最大化和最小化按钮.

  9. 三目运算符 改变<a>标签的class属性

    <s:iterator value="funcList" status="status" id="bean"> <a id ...

  10. SmartForms 小技巧

    1.添加空行,保证每一页有固定的打印的表格行数 上图,每页最多打印13行,数据只有11行,自动添加两个空行补齐 代码如下“ "定义变量: data: l_blank type i. &quo ...