如何将带有 unicode 字符的字符串转换为带有 utf-8 十六进制字符的字符串?

How to convert a string with unicode characters in a string with utf-8 hex characters?

我正在尝试(但没有成功)转换以下字符串(它在 unicode 中具有 ł ={LATIN SMALL LETTER L WITH STROKE} 字符编码):

Marta Ga\u0142szewska

采用以下 utf-8 十六进制格式:

Marta Ga%C5%82uszewska

如何使用 Python 实现该转换并将结果存储在像 variable = "Marta Ga%C5%82uszewska" 这样的变量中?

对于 URL 编码,您需要 urllib.parse.quote:

import urllib.parse
s = "Marta Ga\u0142szewska"
q = urllib.parse.quote(s)

=> 'Marta%20Ga%C5%82szewska'

如果您更喜欢 + 而不是 %20,您可以使用 quote_plus:

q = urllib.parse.quote_plus(s)

=> 'Marta+Ga%C5%82szewska'