onReceive называется даже когда Broadcast не отправлено [дубликат]

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

Шаг 2 прост. Например, если кодировка UTF-8:

f = open('FY16_Query_Analysis1.txt', 'r', encoding='utf8')

(В качестве примечания: использование символа режима "U" устарело, вы должны указать режим универсальной-новой строки с newline=None или просто опустите его, поскольку это значение по умолчанию.)

Если вы не укажете encoding=, то будет использоваться ваш язык . Чтобы узнать, на что он установлен, из Python, попробуйте это (например, в интерактивном сеансе):

import locale
locale.getpreferredencoding()

Это говорит вам, что сейчас используется, что, по-видимому, неверно.

Шаг 1, выясняя, что такое правильная кодировка, может быть сложным. Если источник вашего файла не говорит вам, вам придется угадать. Хорошее предположение - всегда UTF-8, поскольку (а) оно широко распространено и (б), что более важно, оно «придирчиво»: если UTF-8 является неправильным выбором, то весьма вероятно, что вы будете уведомление, получив UnicodeError.

Вы должны попробовать, если это работает. Однако, если это не так, это становится сложно. Скорее всего, вы имеете дело с 8-битной кодировкой, и в этом случае вы не можете полагаться на бесплатный проход - например, декодирование с помощью латинского-1 всегда будет работать (вы даже можете «декодировать» изображение в формате JPEG с помощью латинско- 1), но если это неправильный выбор, результатом является строка тарабарщины. Вам придется проделать пробную и пробную версию с различными 8-битными кодировками и посмотреть на проблемную позицию, чтобы увидеть, является ли результат чем-то разумным.

1
задан Nikolai Samteladze 19 September 2012 в 23:45
поделиться

1 ответ

Приватные трансляции должны оставаться вокруг (даже если они получены), чтобы впоследствии их можно было получить. Возможно, вам стоит попробовать простой способ вещания, используя:

sendBroadcast(i);

Прочитайте этот .

1
ответ дан Community 21 August 2018 в 03:39
поделиться
Другие вопросы по тегам:

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