【问题标题】:Parsing url string from '+' to '%2B'将 url 字符串从“+”解析为“%2B”
【发布时间】:2021-05-07 15:54:23
【问题描述】:

我有 url 地址,其扩展名需要在 ASCII/UTF-8

a='sAE3DSRAfv+HG='

我需要在上面转换成这样:

a='sAE3DSRAfv%2BHG%3D'

我搜索了,但找不到。

【问题讨论】:

    标签: python url encode


    【解决方案1】:

    请看内置方法urllib.parse.quote()

    URL 的一个非常重要的任务是它的安全传输。在您创建它之后,它的含义不得改变,直到它被预期的接收者接收。为实现这一目的,并入了 URL 编码。见RFC 2396

    URL 可能包含非 ascii 字符,如 cafes、López 等。或者它可能包含在 URL 上下文中具有不同含义的符号。例如,# 表示书签。为确保安全传输此类字符,HTTP 标准维护您在源点引用 url。并且 URL 始终以引用格式提供给其他任何人。

    我在下面放了示例用法。

    >>> import urllib.parse
    >>> a='sAE3DSRAfv+HG='
    >>> urllib.parse.quote(a)
    'sAE3DSRAfv%2BHG%3D'
    >>> 
    
    

    【讨论】:

    • 社区鼓励在代码中添加解释,而不是纯粹基于代码的答案(参见here)。
    • 谢谢!添加了更多细节。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多