2

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'

また、replaceステートメントの\の前に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"
4

1 に答える 1

7

おそらく、表示されているのは実際の「バックスラッシュ文字」ではありませんが、印刷できない(またはASCIIではない)文字の文字列表現です。たとえば\t、円記号や。ではなく、タブtです。

あなたはあなたのURLを構築する必要があります

"http://awebsite.me/main?%s" % (urllib.urlencode({'param': cipherText}))
于 2010-05-20T23:25:26.747 に答える