【问题标题】:Replacing backslashes in Python strings替换 Python 字符串中的反斜杠
【发布时间】:2011-02-22 03:23:28
【问题描述】:

我有一些代码可以在 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 放在 \ 前面也不起作用。

我想做的就是调用那种网址:

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"

【问题讨论】:

    标签: python string replace backslash


    【解决方案1】:

    您看到的可能不是真正的“反斜杠字符”,而是不可打印(或非 ascii)字符的字符串表示形式。例如\t 是制表符,而不是反斜杠和t

    你应该用

    建立你的网址
    "http://awebsite.me/main?%s" % (urllib.urlencode({'param': cipherText}))
    

    【讨论】:

      猜你喜欢
      • 2011-08-01
      • 2018-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多