Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2018, 19:50   #1
dmitruyk
Новичок
Джуниор
 
Регистрация: 10.01.2018
Сообщений: 1
Вопрос Кодировка в utf8

Доброго времени! Ситуация такая (Python 3), есть файл с именами доступных wifi сетей записных построчно, с английскими названиями проблем нет, но русские названия записываются в виде
ESSID:"\xD0\xA2\xD0\xB5\xD1\x81\xD1 \x82"

Если ручками задавать работает
>>> f = b'\xD0\xA2\xD0\xB5\xD1\x81\xD1\x82'
>>> f.decode('utf8')
'Тест'

но если считывать с файла с именами в rb типе то добавляется дополнительный слеш (экранирование наверное)
>>>f = open('/wifi', 'rb')
>>>lines = f.readlines()
>>> print (lines[23])
b' ESSID:"\\xD0\\xA2\\xD0\\xB5\\xD1\\x 81\\xD1\\x82"\n'

и соответственно команда возвращает строку без нужной обработки
>>> print (lines[23].decode('utf8'))
ESSID:"\xD0\xA2\xD0\xB5\xD1\x81\xD1 \x82"

как можно решить эту проблему?
dmitruyk вне форума Ответить с цитированием
Старый 09.04.2018, 08:25   #2
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Ну так уберите этот перенос строки в чем проблема?
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 09.04.2018, 13:35   #3
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Проблема-то не в переносе строки однако, а в том, что в файле оно лежит уже в кодированном виде, и эти "\x" там прямо так текстом и прописаны, судя по удвоению backslash

Stanislav, если не секрет - зачем Вы поднимаете темы запредельной давности? Да ещё даёте в них весьма спорные советы..
Black Fregat вне форума Ответить с цитированием
Старый 09.04.2018, 14:10   #4
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
то добавляется дополнительный слеш (экранирование наверное)
автор предположил наверное наличие "слеша" я написал ответ на его предположение, еще даже не начинал давать советов.

Black Fregat - я не смотрю на дату, вижу 0 ответов захожу читаю - отвечаю. Это как нарушает правила форума?
Я поднял тему, Вы высказали свое предположение, может автор вернется прочтет и сразу все сделает? не думали об этом?

Честно говоря не вижу ничего плохого
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лазарус и UTF8 Utkin Lazarus, Free Pascal, CodeTyphon 7 15.04.2014 20:46
UTF8 renigal1 PHP 4 23.03.2012 12:32
Кодировка utf8. Работа с символами. Перевод русских букв в латинских аналог dr.Chas PHP 3 24.03.2011 16:47
TWebBrowser и кодировка UTF8.. sxcine Работа с сетью в Delphi 2 04.11.2010 22:55
Кодировка с cp1251 на utf8 в MySQL Droid БД в Delphi 1 13.03.2010 16:43