Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 10, 2013 00:12:15

Absolem
От: Санкт-Петербург
Зарегистрирован: 2013-12-09
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Как "слово" преобразовать в "%F1%EB%EE%E2%EE"?

Добрый день.
Как “слово” преобразовать в “%F1%EB%EE%E2%EE”?
Кодировка вроде, как windows-1251
Умею делать:

"слово".encode("cp1251")
получаю
b'\xf1\xeb\xee\xe2\xee'
но это не совсем то.
Операционная среда Windows. Python 3.3.3

Офлайн

#2 Дек. 10, 2013 00:26:46

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Как "слово" преобразовать в "%F1%EB%EE%E2%EE"?

import urllib
urllib.parse.quote("слово")
'%D1%81%D0%BB%D0%BE%D0%B2%D0%BE'

Офлайн

#3 Дек. 10, 2013 00:33:32

Absolem
От: Санкт-Петербург
Зарегистрирован: 2013-12-09
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Как "слово" преобразовать в "%F1%EB%EE%E2%EE"?

Singularity
urllib.parse.quote(“слово”)
Ведь, вроде, как не то получается…
Я понимаю, что это должно быть очень просто… но не понимаю, где искать

Офлайн

#4 Дек. 10, 2013 11:17:16

elisk
Зарегистрирован: 2013-04-09
Сообщения: 35
Репутация: +  7  -
Профиль   Отправить e-mail  

Как "слово" преобразовать в "%F1%EB%EE%E2%EE"?

z = "слово".encode("cp1251")
for i in z:
	print(hex(i).upper().replace('0X', '%'), end = '')

Офлайн

#5 Дек. 10, 2013 11:41:32

Absolem
От: Санкт-Петербург
Зарегистрирован: 2013-12-09
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Как "слово" преобразовать в "%F1%EB%EE%E2%EE"?

Спасибо, elisk! Всё работает, как и хотелось. Теперь можно красиво всё написать

Офлайн

#6 Дек. 10, 2013 11:47:52

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

Как "слово" преобразовать в "%F1%EB%EE%E2%EE"?

python2

>>> import urllib
>>> urllib.quote(u'слово'.encode('cp1251'))
'%F1%EB%EE%E2%EE'

python3

>>> import urllib.parse
>>> urllib.parse.quote('слово', encoding='cp1251')
'%F1%EB%EE%E2%EE'

Отредактировано bismigalis (Дек. 10, 2013 11:53:02)

Офлайн

#7 Дек. 10, 2013 13:53:25

Absolem
От: Санкт-Петербург
Зарегистрирован: 2013-12-09
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Как "слово" преобразовать в "%F1%EB%EE%E2%EE"?

bismigalis
python3
О! Спасибо, так даже еще круче и, наверно, правильнее.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version