基本知识1


urlencode

urlencode 是一种将字符串转换为 URL 安全格式的方法。它的主要作用是对 URL 中的特殊字符进行编码,使其能够被正确解析。例如,在 URL 中,空格会被编码为 %20,而 & 会被编码为 %26。

在 Python 中,可以使用 urllib.parse 模块的 quote 和 urlencode 函数来进行 URL 编码:

  1. 单个字符串编码:

from urllib.parse import quote

text = “Hello World!”
encoded_text = quote(text)
print(encoded_text) # 输出: Hello%20World%21

  1. 字典编码(用于 URL 参数):

from urllib.parse import urlencode

params = {‘name’: ‘John Doe’, ‘age’: 25, ‘city’: ‘New York’}
encoded_params = urlencode(params)
print(encoded_params) # 输出: name=John+Doe&age=25&city=New+York

在这种编码格式下,特殊字符会被转换成“%”加上两个16进制的数字的格式,以确保它们在 URL 中能够被正确传递。

hex encoding

Hex(十六进制)编码是一种将数据表示为十六进制格式的编码方法。通常在处理字节数据时使用,以便以可读的方式表示二进制数据。每个字节的数据用两个十六进制字符来表示。在 Python 中,可以使用 hex() 方法或 binascii 模块来进行 hex 编码。使用方法1. 将字符串转换为十六进制编码:text = “Hello”

hex_encoded = text.encode(“utf-8”).hex()

print(hex_encoded) # 输出: 48656c6c6f2.

将字节数据转换为十六进制编码:byte_data = b”Hello”

hex_encoded = byte_data.hex()

print(hex_encoded) # 输出: 48656c6c6f3.

将十六进制解码为字符串:hex_encoded = “48656c6c6f”

decoded_text = bytes.fromhex(hex_encoded).decode(“utf-8”)

print(decoded_text) # 输出: Hello

使用 binascii 模块binascii 模块提供了更多的 hex 编码和解码功能。import binascii

# 编码text = “Hello”hex_encoded = binascii.hexlify(text.encode(“utf-8”))

print(hex_encoded) # 输出: b’48656c6c6f’

# 解码decoded_text = binascii.unhexlify(hex_encoded).decode(“utf-8”)

print(decoded_text) # 输出: HelloHex 编码常用于网络传输和数据存储中,使二进制数据更容易阅读和传递。


發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *