gpt4 book ai didi

python - 如何对字符串中的所有字符(包括安全字符)进行 urlencode?

转载 作者:行者123 更新时间:2023-12-04 07:38:22 28 4
gpt4 key购买 nike

使用 Python,我如何将字符串的所有字符编码为 URL 编码的字符串?
截至目前,大约 every answer最终引用了相同的方法,例如 urllib.parse.quote()urllib.parse.urlencode() .虽然这些答案在技术上是有效的(它们遵循在 URL 中编码特殊字符所需的规范),但我还没有找到描述如何编码其他/非特殊字符(例如小写或大写字母)的单一答案.
如何获取字符串并将每个字符编码为 URL 编码的字符串?

最佳答案

This gist揭示了这个问题的一个很好的答案。最终的功能代码如下:

def encode_all(string):
return "".join("%{0:0>2}".format(format(ord(char), "x")) for char in string)
让我们分解一下。
首先要注意的是返回值是 generator expression ( ... for char in string ) 包裹在 str.join 中调用 ( "".join(...) )。这意味着我们将对字符串中的每个字符执行一个操作,然后最后将每个输出的字符串连接在一起(带有空字符串, "" )。
string 中的每个字符执行的操作是 "%{0:0>2}".format(format(ord(char), "x")) .这可以分解为以下几点:
  • ord(char) :将每个字符转换为相应的数字。
  • format(..., "x") : 将数字转换为十六进制值。
  • "%{0:0>2}".format(...) :将十六进制值格式化为字符串(带有前缀 "%" )。

  • 当您从概览中查看整个函数时,它将每个字符转换为一个数字,将该数字转换为十六进制,然后将所有十六进制值转换为一个字符串(然后返回)。

    关于python - 如何对字符串中的所有字符(包括安全字符)进行 urlencode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67629248/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com