Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 27, 2017 08:59:10

enedorezova
Зарегистрирован: 2017-10-27
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка кодировки

Добрый день!

Делаю одно задание в Спайдере с приведением слов в тексте к нормальной форме. Текст из блокнота.
Появляется ошибка:

UnicodeDecodeError: ‘ascii’ codec can't decode byte 0xd0 in position 3: ordinal not in range(128)

Перерыла весь интернет, решение вопроса не нашла. Кодировка в доке и коде указана utf-8. Пробовала вариант с заменой языка системы, видела вариант изменения местоположения locale. Но так и не удалось даже определить начальное положение.

В Python новичок. Просьба подсказать, как избавиться от ошибки.

Офлайн

#2 Окт. 27, 2017 09:29:47

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ошибка кодировки

Виндовз? Имя пользователя и имя компьютера должны быть латиницей



Офлайн

#3 Окт. 27, 2017 09:52:56

enedorezova
Зарегистрирован: 2017-10-27
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка кодировки

FishHook, спасибо. Вроде как раз у меня Не на латинице. Буду менять.

А может ли ошибка не только в этом быть?

Офлайн

#4 Окт. 27, 2017 10:02:24

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ошибка кодировки

enedorezova
Конечно может, по так как вы не показали ни трейсбэк ошибки ни саму программу, остается только угадывать



Офлайн

#5 Окт. 27, 2017 10:03:41

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ошибка кодировки

enedorezova
В какой кодировке файл программы? Винда не знает utf-8, как вы его создавали вообще?



Офлайн

#6 Окт. 27, 2017 10:10:44

enedorezova
Зарегистрирован: 2017-10-27
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка кодировки

файл программы - .py
внутри указано - # -*- coding: utf-8 -*-

Текст для работы с ним берется из блокнота (text.txt).

f = open('test.txt', ‘r’, encoding='utf8')
text = f.read()

Прикреплённый файлы:
attachment Сохранение.jpg (14,2 KБ)

Офлайн

#7 Окт. 27, 2017 11:05:25

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ошибка кодировки

enedorezova
вы понимаете что такое кодировка? Есть таблица символов, каждый символ обозначаем некоторым числом. Допустим “Ф” = 33, а может быть другая кодировка, где “Ф” = 131. Ваш файл программы - это текст в некоторой кодировке. Скажите, если вы внутри этого файла напишете “кодировка=такая-то”, что от этого изменится? Это указание интерпретатору к какой кодировке файл. Но сам то файл должен быть в этой кодировке! Виндоуз в отличие от других ОС работает по умолчанию с кодировкой CP-2151, а не UTF-8.

 f = open('test.txt', r, encoding='utf8')
вы уверены, что там utf-8? Откуда вы это узнали?



Офлайн

#8 Окт. 27, 2017 11:38:04

enedorezova
Зарегистрирован: 2017-10-27
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка кодировки

FishHook, кодировка файла

Прикреплённый файлы:
attachment Безымянный - Paint.jpg (47,2 KБ)

Офлайн

#9 Окт. 27, 2017 11:52:37

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ошибка кодировки

enedorezova

f = open('test.txt', ‘r’, encoding='utf8')



Офлайн

#10 Окт. 27, 2017 14:48:36

enedorezova
Зарегистрирован: 2017-10-27
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка кодировки

Все дело в кавычках?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version