У меня есть код для шифрования некоторых строк в Python. Зашифрованный текст используется в качестве параметра в некоторых URL-адресах, но после шифрования в строке появляется обратный слеш, и я не могу использовать один обратный слеш в urllib2.urlopen.
Я не могу заменить одну обратную косую черту двойной. Например:
print cipherText '\t3-@\xab7+\xc7\x93H\xdc\xd1\x13G\xe1\xfb' print cipherText.replace('\\','\\\\') '\t3-@\xab7+\xc7\x93H\xdc\xd1\x13G\xe1\xfb'
Также не помогло поставить r перед оператором \ in replace.
Все, что я хочу сделать, это вызвать такой URL:
http://awebsite.me/main?param="\t3-@\xab7+\xc7\x93H\xdc\xd1\x13G\xe1\xfb"
А также этот URL можно успешно назвать:
http://awebsite.me/main?param="\\t3-@\\xab7+\\xc7\\x93H\\xdc\\xd1\\x13G\\xe1\\xfb"
вероятно, что вы видите, это не настоящий "символ обратной косой черты", но это строковое представление непечатного (или не ascii) символа. Например, \t - это Tab, а не обратная косая черта, а t.
\t
t
Вы должны построить свой URL с
"http://awebsite.me/main?%s" % (urllib.urlencode({'param': cipherText}))