替换 Python 字符串中的反斜杠
我有一些代码可以在 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 放在 \ 前面也不起作用。
我只想调用这样的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"
I have some code to encrypt some strings in Python. Encrypted text is used as a parameter in some urls, but after encrypting, there comes backslashes in string and I cannot use single backslash in urllib2.urlopen.
I cannot replace single backslash with double. For example:
print cipherText
'\t3-@\xab7+\xc7\x93H\xdc\xd1\x13G\xe1\xfb'
print cipherText.replace('\\','\\\\')
'\t3-@\xab7+\xc7\x93H\xdc\xd1\x13G\xe1\xfb'
Also putting r in front of \ in replace statement did not worked.
All I want to do is calling that kind of url:
http://awebsite.me/main?param="\t3-@\xab7+\xc7\x93H\xdc\xd1\x13G\xe1\xfb"
And also this url can be successfully called:
http://awebsite.me/main?param="\\t3-@\\xab7+\\xc7\\x93H\\xdc\\xd1\\x13G\\xe1\\xfb"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可能您看到的不是真正的“反斜杠字符”,而是不可打印(或非 ascii)字符的字符串表示形式。例如,
\t
是 Tab,而不是反斜杠和t
。您应该使用以下内容构建您的网址
probably what you are seeing is not a real "backslash character", but it is the string representation of a non printable (or non-ascii) character. For example
\t
is Tab, not a backslash andt
.You should build your url with