Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 22, 2010 08:37:51

SkiF
От:
Зарегистрирован: 2010-10-22
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка Incorrect padding в base64

Есть код наподобие:

if value: result=pickle.loads(base64.decodestring(value))
но дело в том, что value может и не быть закодировано base64. В этом случает выдается ошибка Incorrect padding.

Как делать проверку, закодирована строка или нет? Или выход только один: try - except?



Офлайн

#2 Окт. 22, 2010 10:21:27

zheromo
От:
Зарегистрирован: 2010-10-02
Сообщения: 356
Репутация: +  2  -
Профиль   Отправить e-mail  

Ошибка Incorrect padding в base64

^(?:{4})*(?:{2}==|{3}=)?$



Отредактировано (Окт. 22, 2010 10:22:06)

Офлайн

#3 Окт. 22, 2010 11:55:55

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Ошибка Incorrect padding в base64

SkiF
Или выход только один: try - except?
А в питоне делать проверку через try - except считается вполне кошерным. Только ловить надо не Exception, а именно binascii.Error



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#4 Окт. 27, 2010 13:05:43

SkiF
От:
Зарегистрирован: 2010-10-22
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка Incorrect padding в base64

благодарю за регулярку, но выбор все же оставил за try except, т.к. и вправду это более “по питонски” :)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version