Форум сайта python.su
-1
doza_andвыполнил
Команду вы какую выполнили?
dir *.* >1
’®¬ ў гбва®©б⢥ C Ґ Ё¬ҐҐв ¬ҐвЄЁ.
‘ҐаЁ©л© ®¬Ґа ⮬ : F08C-AB9F
‘®¤Ґа¦Ё¬®Ґ Ї ЇЄЁ C:\Documents and Settings\a
07/02/2016 16:41 <DIR> .
07/02/2016 16:41 <DIR> ..
04/02/2016 17:25 <DIR> .idlerc
31/01/2016 20:50 <DIR> .PyCharm50
01/04/2015 08:46 <DIR> .smplayer
07/02/2016 16:41 0 1
05/02/2016 11:42 0 l
22/03/2015 17:26 <DIR> ѓ« ў®Ґ ¬Ґо
17/01/2015 12:39 <DIR> €§Ўа ®Ґ
04/02/2016 21:31 <DIR> Њ®Ё ¤®Єг¬Ґвл
04/02/2016 11:03 <DIR> ђ Ў®зЁ© бв®«
2 д ©«®ў 0 Ў ©в
9 Ї Ї®Є 7я042я527я232 Ў ©в бў®Ў®¤®
22/03/2015 17:26 <DIR> Главное меню
17/01/2015 12:39 <DIR> Избранное
04/02/2016 21:31 <DIR> Мои документы
04/02/2016 11:03 <DIR> Рабочий стол
Отредактировано andrei186 (Фев. 7, 2016 15:52:56)
Офлайн
-1
в консоли
'ффф'
'\xe4\xe4\xe4'
u'ффф'
u'\u0444\u0444\u0444'
Отредактировано andrei186 (Фев. 7, 2016 15:15:48)
Офлайн
-1
Если это имеет отношение к вопросу.
В IDLE:
>>> print sys.getdefaultencoding()
ascii
>>> print locale.getpreferredencoding()
cp1251
>>> print sys.stdout.encoding
cp1251
Офлайн
253
andrei186Вот отлично, вы приближаетесь к сути вопроса. Разные устройства, cmd, notepad, notepad++ … берут поток байт, что-то предполагают о кодировке и преобразуют это дело в пиксели на экране. cmd и ваш текстовый редактор сейчас похоже имеют разное мнение о том как показывать ОДИНАКОВЫЕ данные. Любой нормальный текстовый редактор можно попросить изменить мнение о кодировке исходных данных (консоль кстати тоже можно попросить изменить текущую кодировку).
но вместо абракадабры
Отредактировано doza_and (Фев. 7, 2016 18:59:05)
Офлайн
-1
doza_andНе нахожу. А нахожу, что прежде чем подозревать собеседника в идиотизме, бывает полезно, поинтересоваться почему предложенное Вами решение не подходит.
Вы не находите что мой первый совет перекодировать все в латиницу и не напрягаться с русскими именами файлов имел право на жизнь? Вы тут третий день меж трех сосен ходите…совпадет с кодировкой в которой вы умудрились вывести название
doza_andЯ не “умудрялся”, я просто ставлю курсор в поле формы и жму клавиши. Но в ваших словах чувствуется раздражение - если это так, то не затрудняйтесь отвечать. С вашей помощью или без оной, решение я найду
Вы тут третий день меж трех сосен ходите…совпадет с кодировкой в которой вы умудрились вывести название
Отредактировано andrei186 (Фев. 7, 2016 20:33:24)
Офлайн
253
andrei186Вы ошибаетесь, я вижу что вы хотите разобраться, поэтому и стараюсь подсказать.
Но в ваших словах чувствуется раздражение
andrei186Очень хорошо что затронута тема, для чего это нужно.
Во-вторых, в этой программе клиент производит какие-то действия, затем вводит свое имя,
andrei186Я IDLE не использую, как думаю и большинство участников форума, поэтому если вы намереваетесь использовать только этот редактор, то вам с ним и разбираться. Из общих соображений Default Source Encoding - должно влиять на создаваемые новые файлы. Практически наверняка существующие файлы открываются в кодировке указанной в строке
3. Я все файлы делаю в родном питоновском IDLE, в котором Default Source Encoding установлен в UTF-8.
Поэтому можно не заниматься исследование кодировок всевозможных редакторов, а состелоточиться на IDLE, у которого скорее всего либо ср1251 либо ср866. Что Вы предложите для двух этих вариантов?
Отредактировано doza_and (Фев. 7, 2016 21:58:52)
Офлайн
-1
doza_andУловил, и это похоже на подпорки, как в известной карикутуре Качели
Вы наверное не уловили суть транслитерации.
doza_andЯ считал, что встроенный редактор IDLE как раз и есть такой инструмент, и я им пользуюсь, хотя в смысле интерфейса пользователя он полный отстой
используйте инструменты которые позволят вам однозначно понимать в какой кодировке вы открыли файл. Тогда вам не надо будет на форуме спрашивать в какой кодировке вы у себя создаете файлы.
doza_andВ Питон я пришел из мира, где Default Source Encoding означает Default Source Encoding. Кодировка по умолчанию. Вы имеете в виде, что в Питоне это может значить что угодно?
Из общих соображений Default Source Encoding - должно влиять на создаваемые новые файлы. Практически наверняка существующие файлы открываются в кодировке указанной в строке
# -*- coding: utf-8 -*-.
doza_andЯ считал, что в лицензионных локализованных виндах проблем с русскими именами файлов нет если не с W95, то c W2000 точно. По кр мере я с таковыми ни разу не сталкивался. Хотя важные файлы держу в латинице на случай, если флешку с ними придется воткнуть в нерусифицированный компьютер.
с русскими названиями файлов, пробелами в именах и прочей экзотикой под windows возникает куча проблем
doza_andВ свете вышеизложенного в каком виде я должен передать функции save() кириллическую строку?
Так что наиболее вероятный ответ на ваш вопрос, ни ср1251 ни ср866 а utf-8.
Отредактировано andrei186 (Фев. 7, 2016 22:48:09)
Офлайн
857
andrei186Ясно, у тебя обычный второй питон в обычной винде с обычными настройками.
в консолидает'ффф''\xe4\xe4\xe4'
>>> 'ффф'.encode('utf-8').decode('cp1251') 'ффф' >>>
andrei186Ни в чём. Первое используется для редакторов, чтобы они могли легче находить эту строку и выделять её или ещё что-нибудь делать. Для самого питона эти строки одинаковые.
Насчет # -*- coding: utf-8 -*- тут рядом мне рекомендовали # coding: utf-8 - в чем разница?
andrei186Ты пришёл из мира винды, и в этом твоя проблема. В самой винде проблема с кодировками, потому что она до сих пор использует однобайтовые кодировки из прошлого века. Везде уже давно принято использовать кодировки, покрывающие весь юникод.
В Питон я пришел из мира, где Default Source Encoding означает Default Source Encoding.
Отредактировано py.user.next (Фев. 8, 2016 01:53:28)
Офлайн
-1
py.user.nextДык я еще в начале сказал, что у меня Питон 2.7 на Виндах
Ясно, у тебя обычный второй питон в обычной винде с обычными настройками
py.user.nextЭтт код вернул мне
Этот коддля третьего питона.>>> 'ффф'.encode('utf-8').decode('cp1251')
'ффф'
>>>
Поэтому ты запустил код для третьего на втором, да ещё и в винде, где другие кодировки по умолчанию.
'ффф'.encode('utf-8').decode('cp1251')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xf4 in position 0: ordinal not in range(128)py.user.nextНе все равно. Питон, подражая Биллу Гейтсу, забил на обратную совместимость. Основной код писал не я, мне надо только чуть-чуть подогнать его под свои нужды. А переносить его на П3, при моем мизерном знании страшновато
Поставь себе третий питон, тебе всё равно, какой у тебя питон.
py.user.nextТ.е. парни, которые придумали Питон, ничего в Питоне не понимают и будучи не в состоянии сделать для него приличный редактор, вынуждены в официальный дистрибутив Питона включить отстой?
IDLE не нужно использовать, это среда только для ознакомления с интерпретатором, не более.
py.user.nextА кому щас легко?!
Ты пришёл из мира винды, и в этом твоя проблема.
У нас 90% подсажены на Винду, и агитировать их за Линукс выше моей компетенцииОтредактировано andrei186 (Фев. 8, 2016 11:10:39)
Офлайн
857
andrei186Бывает, что говорят про второй питон, а там несколько питонов. То есть ты не сказал, что третьего нет.
Дык я еще в начале сказал, что у меня Питон 2.7 на Виндах
andrei186Питон - развивающийся язык. Там даже стандартов нет, потому что его кардинально могут менять. Если сравнивать второй и третий, то очень много лажи удалили из питона, прямо из ядра. Обратная совместимость требовала бы сохранения всего этого и ещё исправления багов в этом. Там очень много делают экспериментов, поэтому те части, которые оказались провальными, не сохраняют, а вычищают.
Не все равно. Питон, подражая Биллу Гейтсу, забил на обратную совместимость.
andrei186Значит, используй везде юникодовые строки u'abc', во всех файлах исходного кода сверху ставь объявление кодировки, которое соответствует той кодировке, в которой сам файл. В консоль можешь выводить только те символы, которые есть в cp1251.
Основной код писал не я, мне надо только чуть-чуть подогнать его под свои нужды.
andrei186Так там есть и черепашка (turtle), которой точно так же никто не пользуется.
Т.е. парни, которые придумали Питон, ничего в Питоне не понимают и будучи не в состоянии сделать для него приличный редактор, вынуждены в официальный дистрибутив Питона включить отстой?
andrei186Вообще, Notepad++ есть, довольно старый и проверенный. Сейчас популярность набирает Sublime Text - это что-то вроде Emacs'а, только для тупых :) , к тому же платный.
Из Вашего опыта который редактор посоветуете для Виндов?
Прикреплённый файлы:
emacs-windows.png (78,0 KБ)
Офлайн