ascii, gb2312, utf8 등 텍스트 파일의 인코딩 형식을 일괄 변환하고, 문자 집합의 크기로 판단하여 utf8>로 서로 변환합니다. ;gb2312>ascii이므로 gb2312를 utf8로 변환하는 것이 가장 좋습니다. 그렇지 않으면 잘못된 문자가 쉽게 나타납니다.
gb2312와 utf-8의 주요 차이점:
글꼴 크기 정보: UTF-8 > gb2312(utf8은 더 비대해지고 로드 속도가 느리며, gb2312는 더 작고 로드 속도가 빠릅니다.)
적용 범위 정보: gb2312는 주로 중국 본토에서 사용되며 현지화된 문자 집합입니다. UTF-8은 중국의 모든 국가를 포함합니다. 그것을 사용해야 하는 세상. 캐릭터는 국제적인 코드이며 활용도가 높습니다. UTF-8로 인코딩된 텍스트는 UTF8 문자 집합을 지원하는 다양한 국가의 브라우저에 표시될 수 있습니다.
import sys import chardet import codecs def get_encoding_type(fileName): '''print the encoding format of a txt file ''' with open(fileName, 'rb') as f: data = f.read() encoding_type = chardet.detect(data) #print(encoding_type) return encoding_type # such as {'encoding': 'GB2312', 'confidence': 0.99, 'language': 'Chinese'} def convert_encoding_type(filename_in, filename_out, encode_in="gb2312", encode_out="utf-8"): '''convert encoding format of txt file ''' #filename_in = 'flash.c' #filename_out = 'flash_gb2312.c' #encode_in = 'utf-8' # 输入文件的编码类型 #encode_out = 'gb2312'# 输出文件的编码类型 with codecs.open(filename=filename_in, mode='r', encoding=encode_in) as fi: data = fi.read() with open(filename_out, mode='w', encoding=encode_out) as fo: fo.write(data) fo.close() # with open(filename_out, 'rb') as f: # data = f.read() # print(chardet.detect(data)) if __name__=="__main__": # fileName = argv[1] # get_encoding_type(fileName) # convert_encoding_type(fileName, fileName) filename_of_files = sys.argv[1] #the file contain full file path at each line with open(filename_of_files, 'rb') as f: lines = f.readlines() for line in lines: fileName = line[:-1] encoding_type = get_encoding_type(fileName) if encoding_type['encoding']=='GB2312': print(encoding_type) convert_encoding_type(fileName, fileName) print(fileName)
보충: Python은 파일을 utf-8 형식으로 일괄 변환을 구현합니다.python은 파일을 utf-8 형식으로 일괄 변환을 구현합니다.
xml_path = './' with open(xml_path , 'rb+') as f: content = f.read() codeType = detect(content)['encoding'] content = content.decode(codeType, "ignore").encode("utf8") fp.seek(0) fp.write(content)
위 내용은 Python을 사용하여 텍스트 파일의 인코딩 형식을 일괄 수정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!