有時候想要把**放到平板或是手機上**,但是相應的閱讀軟體支援編碼為utf-8格式的檔案,類似gbk等編碼格式裡的漢字都會呈現亂碼狀態。手動用notepad++轉換很方便,但是批量處理就很尷尬了,由此引出本篇blog
chardet、codecs
codecs模組提供了實現這些規則的方法,通過模組公開的方法我們能夠方便地獲取某種編碼方式的encoder和 decoder工廠函式(factory function),以及streamreader、streamwriter和streamreaderwriter類。
import os
import sys
import codecs
import chardet
from subfunc_tools import *
#將路徑下面的所有檔案,從原來的格式變為utf-8的格式
if __name__ == "__main__":
path = r'd:\code_sources\python_pycharm\convert_gbk_utf-8\test_txt'
(list_folders, list_files) = list_folders_files(path)
print("path: " + path)
for filename in list_files:
filepath = path + '\\' + filename
with open(filepath, "rb") as f:
data = f.read()
codetype = chardet.detect(data)['encoding']
convert(filepath, codetype, 'utf-8')
import os
import sys
import codecs
import chardet
from subfunc_tools import *
def convert(file, in_enc="gbk", out_enc="utf-8"):
"""該程式用於將目錄下的檔案從指定格式轉換到指定格式,預設的是gbk轉到utf-8
:param file: 檔案路徑
:param in_enc: 輸入檔案格式
:param out_enc: 輸出檔案格式
:return:
"""in_enc = in_enc.upper()
out_enc = out_enc.upper()
try:
print("convert [ " + file.split('\\')[-1] + " ].....from " + in_enc + " --> " + out_enc )
f = codecs.open(file, 'r', in_enc)
new_content = f.read()
codecs.open(file, 'w', out_enc).write(new_content)
# print (f.read())
except ioerror as err:
print("i/o error: ".format(err))
import os
def list_folders_files(path):
"""返回 "資料夾" 和 "檔案" 名字
:param path: "資料夾"和"檔案"所在的路徑
:return: (list_folders, list_files)
:list_folders: 資料夾
:list_files: 檔案
"""list_folders =
list_files =
for file in os.listdir(path):
file_path = os.path.join(path, file)
if os.path.isdir(file_path):
else:
return (list_folders, list_files)
(編碼轉換)轉換檔案編碼
目錄 1 轉換編碼種類 2 轉編碼操作步驟 1 轉換編碼種類 可轉為 utf 8 最常用 ansi unicode unicode big endian 這四類編碼 2 轉換編碼操作步驟 1 將檔案以記事本方式開啟 注意 如果不可以請先將檔案轉換為 csv 檔案,再以記事本開啟 2 點選記事本左上方...
QT開發 遞迴轉換檔案編碼
第一步 先用這個檔案原先的編碼讀取檔案內容存到區域性變數當中,然後呼叫qfile remove 方法刪除檔案 第二步 建立乙個跟原先檔名同名的檔案,然後設定你要轉換的編碼,使用qtextsream setcodec 方法 將檔案內容寫入這個新建立的檔案當中 以上兩步就可以實現給檔案轉碼。void w...
Mac下轉換檔案編碼格式
win下檔案預設使用gbk編碼,而mac下是utf 8,難免遇到亂碼的情況,可以通過終端iconv命令解決。單個檔案轉碼 iconv f 原編碼格式 t 新編碼格式 原路徑 新路徑 iconv f gbk t utf 8 users ypf downloads 恐怖廣播.txt users ypf ...