@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.
@otha_marks
Напоминаю, что в Python 3 строки хранятся в Unicode, поэтому преобразование данных из кодировки windows-1251 в Unicode нужно выполнять при чтении данных из источника и использовании в программе.
Используйте open с параметром encoding='cp1251' для чтения файла в нужной кодировке. Пример:
1 2 3 4 5 6 7 |
with open('data.txt', 'r', encoding='cp1251') as file:
data = file.read() # Чтение данных из файла в кодировке windows-1251
print(data) # Вывод данных в кодировке windows-1251
# Преобразование данных в Unicode
decoded_data = data.encode('cp1251').decode('cp1251')
print(decoded_data) # Вывод данных в Unicode
|
Таким образом, данные будут правильно прочитаны из файла в кодировке windows-1251 и затем преобразованы в Unicode без ошибок.