"""遍历目录下的文件,将文件根据编码utf-16 le读出来,再以utf-8格式写进去"""
#! python3
# encoding: utf-8
import os
import chardet
def strJudgeCode(str1):
return chardet.detect(str1)
def utf16leToUtf8(infile,outfile):
print(infile)
content="";
# 文件是utf-16 le编码,故只读取这种,也有不是这种编码的,如果不成功就有可能抛出异常,因此为了避免程序停止,需要捕获异常
try:
with open(infile,"r",encoding='utf-16 le') as f:
content = f.read()
result = strJudgeCode(str.encode(content))
if(result['encoding'] == 'utf-8'): #此处可以去掉,因为有部分是utf-8,故此部分不需要再转换了
return
#print(content)
with open(outfile,"w",encoding='utf-8') as f1:
#f1.write(bytes.decode(content))
f1.write(content)
except UnicodeDecodeError:
print("UnicodeDecodeError err%s
python批量修改文件编码格式,由utf-16 le 格式转为utf-8
最新推荐文章于 2024-06-24 23:14:04 发布
本文介绍如何使用Python脚本批量将一批文件的编码格式从UTF-16 LE转换为UTF-8,解决跨平台或软件兼容性问题。内容包括Python代码示例,实现文件的读取、编码转换和写入。
摘要由CSDN通过智能技术生成