@Samosh2010

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 382: invalid start byte, что делать?

subprocess пытаеться выполнить команду и вывести результат, но тут выводи ошибку:
def execute(command):
    return subprocess.check_output(command, shell = True, encoding = 'utf-8')

Traceback (most recent call last):
  File "C:\Users\maksa\Desktop\My Files\vidstream\client.py", line 34, in <module>
    result = execute(cmd_data)
  File "C:\Users\maksa\Desktop\My Files\vidstream\client.py", line 17, in execute
    return subprocess.check_output(command, shell = True, encoding = 'utf-8')
  File "C:\Program Files\Python39\lib\subprocess.py", line 424, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "C:\Program Files\Python39\lib\subprocess.py", line 507, in run
    stdout, stderr = process.communicate(input, timeout=timeout)
  File "C:\Program Files\Python39\lib\subprocess.py", line 1121, in communicate
    stdout = self.stdout.read()
  File "C:\Program Files\Python39\lib\codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 382: invalid start byte

в чем то проблема?
  • Вопрос задан
  • 423 просмотра
Решения вопроса 1
@GH0st_is_HAcker
Попробуй дописать после
return subprocess.check_output(command, shell = True, encoding = 'utf-8')

Это:
.content.decode('Windows-1251')
Только убери encoding = 'utf-8'
В итоге у тебя должно выйти:
def execute(command):
    return subprocess.check_output(command, shell = True).content.decode('Windows-1251')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы