将文件的编码格式转换为utf-8
背景:项目中有一些其他部门发过来的代码,编码格式有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的更多相关文章
- Linux下文件字符编码格式检测和转换
目前多数情况下, 我们遇到的非英文字符文件都是使用UTF-8编码的, 这时一般我们查看这些文件的内容都不会有问题. 不过有时, 我们有可能会遇到非UTF-8编码的文件, 比如中文的GBK编码, 或者俄 ...
- linux查看文件的编码格式的方法 set fileencoding PYTHON
linux查看文件的编码格式的方法 set fileencoding 乱码原因:因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件.但是windows的本地默认编码是cp93 ...
- MyEclipse设置文件的编码格式
在MyEclipse中复制properties文件的时候,发现一个问题,在EditPlus中打开文件中文可以正常显示,并且是UTF-8的编码格式. 但是将这个文件复制到MyEclipse中再打开时,中 ...
- 将字符串的编码格式转换为utf-8
方式一: /** * 将字符串的编码格式转换为utf-8 * * @param str * @return Name = new * String(Name.getBytes("ISO-88 ...
- chardet库:识别文件的编码格式
chardet库文档 http://chardet.readthedocs.io/en/latest/usage.html 小文件的编码判断 detect函数只需要一个 非unicode字符串参数,返 ...
- 转!! Eclipse设定和修改文件字符编码格式和换行符
Window -> Preferences -> General -> Workspace : Text file encoding :Default : 选择此项将设定文件为系统默 ...
- eclipse中设置新建jsp文件的编码格式
每次新建jsp文件时,默认都是ISO-8859-1,每次涉及有中文的时候都得改成UTF-8,这就很麻烦了. 解决的方法就是,设置新建jsp文件的编码格式. 解决方法 结果 或者更改它的encoding
- 批量修改文件的编码格式至UTF-8
批量修改文件的编码格式至UTF-8 学习了: https://jingyan.baidu.com/article/e8cdb32b47a1ea37042bad11.html http://blog.c ...
- java中更新文件时,指定原文件的编码格式,防止编码格式不对,造成乱码
1.pom中添加引入cpdetector(一个可以自动检测文本编码格式的项目) //pom中添加引入cpdetector(一个可以自动检测文本编码格式的项目) <dependency> & ...
随机推荐
- 常用的MAVEN公共私服
flex-mojo http://repository.sonatype.org/content/groups/flexgroup flex相关 http://nexus.5amsolutions.c ...
- [POJ1852]Ants
Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 12431 Accepted: 5462 Description An a ...
- 多线程归并排序(摘自githhub)
package com.rationalcoding.sort; import java.util.ArrayList; import java.util.Arrays; import java.ut ...
- 如何通过Visual Studio发布Azure应用程序
发布 Azure 云服务 使用 Azure Tools for Visual Studio,可以直接从 Visual Studio 将云服务发布到 Azure. 在发布 Azure 云服务之前,必须已 ...
- HW5.25
public class Solution { public static void main(String[] args) { System.out.println(convertMillis(55 ...
- 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 ...
- [置顶] 斗地主算法的设计与实现--项目介绍&如何定义和构造一张牌
大学期间,我在别人的基础上,写了一个简易的斗地主程序. 主要实现了面向对象设计,洗牌.发牌.判断牌型.比较牌的大小.游戏规则等算法. 通过这个斗地主小项目的练习,提高了我的面向对象设计能力,加深了对算 ...
- 如何去掉WinForm或者WPF的最大化和最小化按钮
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何去掉WinForm或者WPF的最大化和最小化按钮.
- 三目运算符 改变<a>标签的class属性
<s:iterator value="funcList" status="status" id="bean"> <a id ...
- SmartForms 小技巧
1.添加空行,保证每一页有固定的打印的表格行数 上图,每页最多打印13行,数据只有11行,自动添加两个空行补齐 代码如下“ "定义变量: data: l_blank type i. &quo ...