Python: Cómo verificar si un archivo está codificado como UTF16

Para determinar si un archivo está codificado como UTF-16, puedes verificar la presencia de un Byte Order Mark (BOM) al inicio del archivo. Los archivos codificados en UTF-16 usualmente empiezan con un BOM, el cual es 0xFEFF para little-endian y 0xFFFE para 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']

# Ejemplo de uso
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.")

Echa un vistazo a artículos similares por categoría: Python