python

#remove_bom.py
import codecs
import shutil

def remove_bom(input_file, output_file):
    with open(input_file, 'rb') as fin:
        content = fin.read()
        encoding = 'utf-8-sig' if content.startswith(codecs.BOM_UTF8) else 'utf-8'
    
    with open(input_file, 'r', encoding=encoding) as fin:
        content = fin.read()
    
    with open(output_file, 'w', encoding='utf-8') as fout:
        fout.write(content)

# テスト用の入力ファイルと出力ファイルのパス
input_file_path = 'sample.txt'
output_file_path = 'no-bom-sample.txt'

# BOMを削除してファイルをコピーする
remove_bom(input_file_path, output_file_path)

print('BOMが削除され、ファイルが変換されました。')
print(f"remove_bom_file has been generated and saved to {output_file_path}")