在Python字符串中替换反斜杠
我有一些代码用来在Python中加密字符串。加密后的文本会作为参数放在一些网址里,但加密后字符串中出现了反斜杠,我在使用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也没有用。
我想做的就是调用这种网址:
http://awebsite.me/main?param="\t3-@\xab7+\xc7\x93H\xdc\xd1\x13G\xe1\xfb"
而且这个网址也能成功调用:
http://awebsite.me/main?param="\\t3-@\\xab7+\\xc7\\x93H\\xdc\\xd1\\x13G\\xe1\\xfb"
1 个回答
7
你看到的可能不是一个真正的“反斜杠字符”,而是一个不可打印(或者说不是ASCII字符)的字符串表示。比如说,\t
代表的是制表符(Tab),而不是一个反斜杠和字母 t
。
你应该用下面的方式来构建你的网址:
"http://awebsite.me/main?%s" % (urllib.urlencode({'param': cipherText}))