Как конвертировать данные в кодировке windows-1251 в юникод в python без ошибок?

Пользователь

от otha_marks , в категории: Python , 7 месяцев назад

Как конвертировать данные в кодировке windows-1251 в юникод в python без ошибок?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от francisco.friesen , 6 месяцев назад

@otha_marks 

Вы можете использовать встроенную функцию decode для преобразования данных из кодировки windows-1251 в Unicode:

1
2
3
data = b'Hello, world!' # данные в кодировке windows-1251
decoded_data = data.decode('cp1251') # декодирование из кодировки windows-1251 в Unicode
print(decoded_data) # вывод: 'Hello, world!'


Если у вас есть файл с данными в кодировке windows-1251, вы можете прочитать его с помощью стандартных средств python и декодировать его в Unicode:

1
2
3
4
with open('data.txt', 'r', encoding='cp1251') as file:
    data = file.read() # чтение данных из файла в кодировке windows-1251
    decoded_data = data.decode('cp1251') # декодирование из кодировки windows-1251 в Unicode
    print(decoded_data)


Важно убедиться, что данные действительно находятся в кодировке windows-1251. Если вы попробуете декодировать данные в неправильной кодировке, это может привести к ошибке UnicodeDecodeError.