gbk转utf8
很多时候会在不同的操作系统查看一份文档,不同的操作系统又有自己默认的编码,如果文档中有中文,这就会导致出现乱码,在linux下也有很好的工具去转,但大多数不提供一次转换整个文件夹,有时文件很多的情况下一个一个的转换势必会让你有些不爽,本文提供一个在linux下的文本转换程序,使用python语言完成,能够完成gbk到utf8编码的转化,能够一次转换整个目录,当然,首先你需要安装好python环境。代码比较简单,我只是简单完成我的需要,如果不符合你的要求,你大体可以看下,然后修改为自己需要的,good luck!
#!/usr/bin/python
import os
def walk_dir(root, dir):
list = os.listdir(os.path.join(root, dir))
for line in list:
new_dir = os.path.join(dir, line)
path = os.path.join(root, new_dir)
new_path = os.path.join(root, tmp, new_dir)
if os.path.isdir(path):
print 'dir : ' + path + '\n'
if not os.path.exists(new_path):
os.mkdir(new_path)
walk_dir(root, new_dir)
else:
print 'file : ' + path + '\n'
os.system('iconv -f gbk -t utf8 ' + path + ' > ' + new_path)
if __name__ == '__main__':
root = os.getcwd()
dir = raw_input('please input the src dir name(which is in the current dir) :\n')
if not os.path.exists(os.path.join(root, dir)):
print os.path.join(root, dir) + ' is not exist.\n'
tmp = '_tmp'
print os.path.join(root, tmp, dir)
if not os.path.exists(os.path.join(root, tmp)):
os.makedirs(os.path.join(root, tmp, dir))
walk_dir(root, dir)