■ UTF-8 인코딩 텍스트 파일로 변환하는 방법을 보여준다.
※ UTF-8 BOM 인코딩도 UTF-8 인코딩으로 변환한다.
▶ 예제 코드 (PY)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import os import codecs import chardet import io def convertToUTF8File(sourceFilePath, targetFilePath): sourceBufferedReader = open(sourceFilePath, "rb") byteCount = min(32, os.path.getsize(sourceFilePath)) sourceContentBytes = sourceBufferedReader.read(byteCount) if sourceContentBytes.startswith(codecs.BOM_UTF8): encoding = "utf-8-sig" else: result = chardet.detect(sourceContentBytes) encoding = result["encoding"] sourceTextIOWrapper = io.open(sourceFilePath, "r", encoding = encoding) sourceContentString = sourceTextIOWrapper.read() sourceTextIOWrapper.close() targetTextIOWrapper = open(targetFilePath, "w", encoding = "UTF8") targetTextIOWrapper.write(sourceContentString) targetTextIOWrapper.close() return targetFilePath convertToUTF8File("./test1.txt", "./test2.txt") |
▶ requirements.txt
1 2 3 |
chardet==5.2.0 |
※ pip install chardet 명령을 실행했다.