다른 프로그램에서 저장한 데이터 파일을 파이썬으로 읽으려는데 read() 하는 순간 에러가 터집니다. 메모장에서는 잘 열리는 파일이에요.


with open("data.txt", "r", encoding="utf-8") as f:
text = f.read()
print(text)


Traceback (most recent call last):
File "main.py", line 2, in <module>
text = f.read()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte


맨 앞 byte가 0xff라는데, 찾아보니 이 파일이 UTF-16으로 저장된 것 같더라고요. utf-8로 열어서 문제인 건 알겠는데 인코딩을 뭘로 맞춰야 하는지, 그리고 인코딩을 미리 모를 땐 어떻게 대응하는지 궁금합니다.