gbk转utf8

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)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值