我正在尝试将包含' - '(减号)符号的字符串编码为iso8859-15,它将按原样返回字符串。 例如:
str="abc-def"
预期输出
abc%2Ddef
有没有办法做到这一点?对不起我,如果我的问题是错的。
答案 0 :(得分:1)
亚
from urllib.parse import quote
st = "abc-def"
encoded = quote(st)
答案 1 :(得分:1)
您的输出示例表明您正在寻找 url encoding ,而非Latin-1。
urllib.quote()
和urllib.quote_plus()
函数可用于进行此类引用,但-
字符不需要引用且不会引用:
使用
%xx
转义替换 string 中的特殊字符。从不引用字母,数字和字符'_.-'
。
演示:
>>> from urllib import quote
>>> quote('abc-def')
'abc-def'
>>> quote('some data that needs quoting!')
'some%20data%20that%20needs%20quoting%21'
如果您使用的是Python 3,则可以在urllib.parse
module中找到quote
和quote_plus
函数。