Поиск персонажа не-Ascii с помощью Rfind - ü - PullRequest
0 голосов
/ 23 апреля 2019

Итак, я пытаюсь найти данный символ, который встречается в буфере извлеченного двоичного файла. Персонаж этого извлеченного двоичного файла - это пользователь с умлаутом над ним. Как мне найти этот символ, поскольку python выдает ошибку, когда я пытаюсь запустить скрипт «Символ не-Ascii в файле», соответствующее местоположение файла, в котором произошел сбой, а затем «но кодировка не объявлена».

positionoflastu = ssidstring.rfind('ü')
tvname = ssidstring[lastu+1:]

Большое спасибо

1 Ответ

1 голос
/ 24 апреля 2019

Похоже, что Python жалуется на ваш .py файл, а не на файл данных.Полное сообщение об ошибке может выглядеть примерно так:

SyntaxError:
Non-ASCII character '\xfc' in file foo.py on line 1,
but no encoding declared;
see http://python.org/dev/peps/pep-0263/ for details

Вы должны прочитать этот PEP.Он скажет вам, что ваш файл Python должен объявить свою кодировку.Вы сказали, что не знаете кодировку файла, так что было бы неплохо узнать, как это выяснить.В то же время мы могли бы сделать разумное предположение на основе конкретного байта, на который жалуется сообщение об ошибке (что является примером того, почему обычно рекомендуется включать полные сообщения об ошибках, когда вы задаете вопрос в StackOverflow).

Например, если сообщение об ошибке сообщает о \xfc, то ваш файл, вероятно, закодирован в Latin-1 / ISO-8859-1 / CP 1252. Если он жалуется на \c3, то ваш файл, вероятно, закодированв UTF-8.

Таким образом, вы, вероятно, можете обойти эту ошибку, поставив одну из

# coding=cp1252

или

# coding=utf_8

в качестве первой или второй строки вашегоИсходный файл Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...