Python: Jak zkontrolovat, zda je soubor kódován jako UTF16

Pro zjištění, zda je soubor kódován jako UTF-16, můžete zkontrolovat přítomnost Byte Order Mark (BOM) na začátku souboru. UTF-16 kódované soubory obvykle začínají BOM, který je 0xFEFF pro little-endian a 0xFFFE pro big-endian.

is_utf16.py
def is_utf16(filename):
    with open(filename, 'rb') as file:
        start = file.read(2)
        return start in [b'\xff\xfe', b'\xfe\xff']

# Example usage
filename = 'test.txt'
if is_utf16(filename):
    print(f"The file '{filename}' is encoded as UTF-16.")
else:
    print(f"The file '{filename}' is NOT encoded as UTF-16.")

Podívejte se na podobné články podle kategorie: Python