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
Si este artículo te ha ayudado, considera invitarme a un café o hacer una donación vía PayPal para apoyar la investigación y publicación de nuevos artículos en TechOverflow