如何批量的把文件转换成 UTF-8编码?
时间: 2024-12-12 15:32:25 浏览: 4
代码文件转UTF-8格式工具源码
要批量将文本文件(如TXT)从UTF-16LE或其他编码转换为UTF-8,你可以使用Python编写一个脚本来自动化这个过程。这里是一个基本的示例,它结合了`os`库遍历文件夹以及`chardet`库检测文件编码,然后使用`open()`函数以新的编码写入文件:
```python
# 引入所需库
import os
import chardet
from io import open
# 定义要转换的源文件夹路径
source_folder = '/path/to/source/folder'
# 目标编码 (这里是UTF-8)
target_encoding = 'utf-8'
# 遍历文件夹中的所有.txt文件
for filename in os.listdir(source_folder):
if filename.endswith('.txt'):
file_path = os.path.join(source_folder, filename)
# 检测当前文件的编码
with open(file_path, 'rb') as f:
result = chardet.detect(f.read())
detected_encoding = result['encoding']
# 如果检测到的是UTF-16LE,尝试转换
if detected_encoding == 'UTF-16LE':
with open(file_path, 'r', encoding=detected_encoding) as source_file:
with open(file_path + '.converted', 'w', encoding=target_encoding) as target_file:
target_file.write(source_file.read())
# 注意:对于无法确定编码或非UTF-16LE的文件,此脚本可能不会工作,需要额外处理。
阅读全文