استبدال الخلف في سلاسل بيثون
سؤال
لدي بعض التعليمات البرمجية لتشفير بعض الأوتار في بيثون. يتم استخدام النص المشفر كمعلمة في بعض عناوين 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 أمام في بيان استبدال لم ينجح.
كل ما أريد فعله هو استدعاء هذا النوع من عنوان 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"
المحلول
ربما ما تراه ليس "حرفًا عكسيًا" حقيقيًا ، ولكنه تمثيل سلسلة لشخصية غير قابلة للطباعة (أو غير قابلة للطباعة أو غير قابلة للطباعة. فمثلا \t
هو علامة التبويب ، وليس من الخلف و t
.
يجب عليك بناء عنوان URL الخاص بك مع
"http://awebsite.me/main?%s" % (urllib.urlencode({'param': cipherText}))
لا تنتمي إلى StackOverflow