我有一根绳子。。
我想在每对字符前面加一个百分号,所以s = 'e6b693e6a0abe699ab'
写作的好方法是什么?
(注意,我不在乎unreserved characters是否转换为ASCII。)
我可以想出一些冗长的方法来做这件事,但是我想要一些简单的好东西,虽然我对Python还不太熟悉,但是如果Python做不好的话,我会很惊讶。

最佳答案

>>> ''.join( "%"+i+s[n+1] for n,i in enumerate(s)  if n%2==0 )
'%e6%b6%93%e6%a0%ab%e6%99%ab'

Or using re
>>> import re
>>> re.sub("(..)","%\\1",s)
'%e6%b6%93%e6%a0%ab%e6%99%ab'

关于python - 在Python中将十六进制字符串转换为百分比编码的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3938801/

10-12 18:29