
H
18.08.2016
22:48:35
сразу видно, что не пиздишь
сообщения редактировать можно

Bartimeys
18.08.2016
22:49:22
Да, честность это моя слабость.

Google

H
18.08.2016
22:49:53
лан, че ты влез в разговоры детей?
@itohnobue покни как разберешься

Nobue
18.08.2016
23:04:52
http://aoizora.org/upload/2016-08-19_04-04-38.jpg вот это же надо сделать?

Kolyann
18.08.2016
23:05:03
ооооооо
Да, эт оно

Nobue
18.08.2016
23:05:29
я просто помню что делал это без eval когда-то
только забыл как точно
правда я не уверен что в третьем так можно

H
18.08.2016
23:07:06
в третьем нельзя decode на строку, я уже говорил

Nobue
18.08.2016
23:07:57
надо все-таки завести проект на третьем наконец

H
18.08.2016
23:08:05
In [24]: s.encode('utf8').decode('unicode-escape').encode('latin-1').decode('utf8')
Out[24]: 'Бав'

Nobue
18.08.2016
23:08:07
как-то мне пока в работе всегда второй попадается

Google

H
18.08.2016
23:08:15
да, работает, лайк

Nobue
18.08.2016
23:09:33
в третьем получается .decode только у unicode типа есть?
интересно почему они убрали такую возможность у строк

Aragaer
18.08.2016
23:10:36
эм
в третьем питоне есть bytes
которое принимает первым аргументом строку, а вторым - во что декодить

H
18.08.2016
23:11:06
я познаю основы третьего питона :)

Nobue
18.08.2016
23:11:47
ну мне пока не приходилось заниматься конвертациями в третьем) то что я делал целиком было юникодным
во втором много приходилось
я конечно в курсе что там bytes вместо str но не думал что они убрали возможность делать на bytes decode()
пусть даже отдельной функцией

H
18.08.2016
23:13:43
у байтов нет енкод, у строк нет декод
декод возвращает строку, энкод байты

Nobue
18.08.2016
23:14:03
это на практике не мешает?

Aragaer
18.08.2016
23:14:48
у байтов есть декод, у строк есть энкод.

Nobue
18.08.2016
23:15:04
ок, вроде понятно

Aragaer
18.08.2016
23:15:12
то есть str.encode -> bytes
bytes.decode -> str

H
18.08.2016
23:15:34
прям в точности как я написал
надо еще кому-то повторить

Google

Nobue
18.08.2016
23:15:43
я даже обнаружил срачи на эту тему - https://habrahabr.ru/post/208192/

H
18.08.2016
23:15:59

Nobue
18.08.2016
23:16:19
в принципе если там реально все в байтах то наверное норм
просто как всегда напорешься на либу или модуль которая делает не так
и печаль

H
18.08.2016
23:17:26
это в этих ваших вторых питонах так

Nobue
18.08.2016
23:17:38
да, не спорю

[Anonymous]
18.08.2016
23:17:59

H
18.08.2016
23:18:15
я обычно документацию смотрю, что возвращает та или иная функция, вроде работает хорошо ?

Nobue
18.08.2016
23:18:20
но вот смотри например есть врапперы над всякими win32api / objc и подобные хреновины, которые далеко не всегда возвращают красивый и валидный с точки зрения питона ответ

H
18.08.2016
23:18:32
мамкины конспираторы вернулись

Nobue
18.08.2016
23:18:42
ну во втором такого полно)

H
18.08.2016
23:18:49
я с таким не работал ни разу

Nobue
18.08.2016
23:18:52
в третьем значит все написали Правильно?

H
18.08.2016
23:19:13
гвидо всех отшлепал

Nobue
18.08.2016
23:19:28
да вот взять хотя бы проблемы с кодировками ФС на виндоузах, когда надо поддерживать XP
там вообще бардак
один способ хождения по файлам возвращает в юникоде, второй в байтах, третий вообще хрен знает что
хорошо если в третьем действительно все сделали правильно
я только за

Google

Nobue
18.08.2016
23:20:38
хотя и не вижу причины жестко отбирать декоды

H
18.08.2016
23:20:48
я так рад что не пишу на винде и не использую вин32апи :D

Nobue
18.08.2016
23:20:56
:)
ну это все решаемо на самом деле

H
18.08.2016
23:21:06
одна из фич третьего питона - стандартизация
как метод, который возвращает строку из байтов навесить на строку?
сделать return original в начале?
а нахуя? не надо использовать масло масленное

[Anonymous]
18.08.2016
23:22:09
Win32API был создан, чтобы страдать (с)***

Nobue
18.08.2016
23:23:10
из последних примеров как я уже говорил меня обрадовал lxml вернув \u символы в виде str

Admin
ERROR: S client not available

H
18.08.2016
23:23:32
пиздец у тебя жизнь тяжелая лол

Nobue
18.08.2016
23:23:40
:D

H
18.08.2016
23:23:47
винда, винапи, хмл

Nobue
18.08.2016
23:23:50
я на самом деле к этому спокойно отношусь

H
18.08.2016
23:23:52
еще и джанга небось?
https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/
вот есть под 3.5, скачай да посмотри

Nobue
18.08.2016
23:24:15
так или иначе балаган везде есть
да, надо попробовать

Google

H
18.08.2016
23:24:59
пойду спать, а то мамка сердится!

Nobue
18.08.2016
23:28:40
ну вобщем как-то я все равно не понимаю зачем они забрали эти несчастные encode/decode, от их выпиливания ни холодно ни жарко, а если кто попадет в ситуацию когда они реально понадобятся, будет грустно
так что я наверное согласен вот с этим чуваком http://lucumr.pocoo.org/2014/1/5/unicode-in-2-and-3/

Aragaer
18.08.2016
23:29:16
в том-то и фокус, что они есть в тех местах, где нужны
декодить можно только байты, энкодить только строку
одно превращается в другое

Nobue
18.08.2016
23:29:54
концептуальные причины я понимаю

Aragaer
18.08.2016
23:30:04
во втором питоне то и другое - строка

Nobue
18.08.2016
23:30:13
но они меня не сильно убеждают как-то
никому эти функции не мешали

Aragaer
18.08.2016
23:30:19
и энкод-декод превращает строку из одного состояния в другое
а в третьем питоне это два разных типа
и энкод-декод точно так же превращают их из одного в другое

Nobue
18.08.2016
23:31:29
Арагер, ты просто цитируешь то что они говорят
это я и сам прочитал
просто я думаю что от разрешения того же decode для bytes ничего бы не поменялось

Aragaer
18.08.2016
23:31:54
я не читал
а что должен сделать decode для bytes?

Nobue
18.08.2016
23:32:33
то что делал во втором

Aragaer
18.08.2016
23:33:03
а что делал во втором? 8)

Nobue
18.08.2016
23:33:11
я не очень верю что по мановению волшебной палочки весь мир станет возвращать всегда супер правильные и валидные bytes или даже unicode

Aragaer
18.08.2016
23:33:46
>>> s='\\xd0\\x91\\xd0\\xb0\\xd0\\xb2'
>>> s.encode('utf8').decode('unicode-escape').encode('latin-1').decode('utf8')
'Бав'
это третий питон