python 将文件转为UTF8编码

Posted 韩搏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 将文件转为UTF8编码相关的知识,希望对你有一定的参考价值。

C代码在Linux编译正常,放到win上编译各种报错,发现文件编码的问题,写了批量处理文件编码脚本
import codecs
import os
import sys
import shutil
import re
import chardet

convertdir = '.'
convertfiletypes = [".c",".cpp",".h",".hpp"]

def convert_encoding(filename, target_encoding):
    # Backup the origin file.

    # convert file from the source encoding to target encoding
    content = codecs.open(filename, 'r').read()
    source_encoding = chardet.detect(content)['encoding']
    print filename, 'encode:', source_encoding
    content = content.decode(source_encoding, 'ignore')# .encode(source_encoding)
    codecs.open(filename, 'w', encoding=target_encoding).write(content)

def main():
    for root, dirs, files in os.walk(convertdir):
        for f in files:
            for filetype in convertfiletypes:
                if f.lower().endswith(filetype):
                    filename = os.path.join(root, f)
                    print filename
                    try:
                        convert_encoding(filename, 'UTF-8-SIG')
                    except Exception, e:
                        print filename

if __name__ == '__main__':
    main()

以上是关于python 将文件转为UTF8编码的主要内容,如果未能解决你的问题,请参考以下文章

springboot数据库将ansi编码转为utf8

如何将gbk字符文件转为utf8字符文件

php文件转为有bom头utf8编码不乱码,转为无bom头utf8乱码

Utf8编码转换问题 Delphi

.net里UTF8页面怎么将内容转为GBK编码呢?

HTML编码UTF-8转为GBK