Элементы списка декодирования Python из utf16 - PullRequest
0 голосов
/ 11 июня 2019

У меня проблема с чтением списка, созданного из текстового файла, открытого Python.Вот мой код:

if orderFilesListCount >= 1:
     orderContents = list()
     with open(os.path.join(directory,fileName), "r") as f:
          for line in f:
               orderContents.append(line)

orderContents выглядит (это просто отрывок для демонстрационных целей):

'\x000\x001\x005\x00 \x006\x003\x00 \x005\x003\x00 \x004\x004\x00\n', '\x00\n', '\x00'

Я думаю, что это utf-16, но когда я пытаюсь декодироватьСписок строка за строкой Я получаю следующую ошибку (поскольку я понимаю, что невозможно декодировать объект str):

AttributeError: 'str' object has no attribute 'decode'

Что мне делать?Я неправильно понял?Может быть, это не UTF-16?Спасибо за помощь

1 Ответ

2 голосов
/ 11 июня 2019

Да, декодирование str ings не имеет смысла, потому что они уже были декодированы.Однако можно декодировать bytes:

with open(os.path.join(directory,fileName), "rb") as f:  # open as binary
    data = f.read().decode("utf16")
...