url_decode
Décode une chaîne encodée en URL au format « application/x-www-form-urlencoded » vers son format d'origine.
Syntaxe
Python
from pyspark.sql import functions as sf
sf.url_decode(str)
parameter
parameter | Type | Description |
|---|---|---|
|
| Une colonne de chaînes, chacune représentant une chaîne encodée en URL. |
Renvoie
pyspark.sql.Column: Une nouvelle colonne de chaînes de caractères, chacune représentant la chaîne décodée.
Exemples
Exemple 1 : décodage d'une chaîne encodée en URL
Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([("https%3A%2F%2Fspark.apache.org",)], ["url"])
df.select(sf.url_decode(df.url)).show(truncate=False)
Output
+------------------------+
|url_decode(url) |
+------------------------+
|https://spark.apache.org|
+------------------------+
Exemple 2 : décoder une chaîne de caractères encodée en URL avec des espaces
Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([("Hello%20World%21",)], ["url"])
df.select(sf.url_decode(df.url)).show()
Output
+---------------+
|url_decode(url)|
+---------------+
| Hello World!|
+---------------+
**Exemple 3** : Décodage d'une chaîne encodée en URL avec des caractères spéciaux
Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([("A%2BB%3D%3D",)], ["url"])
df.select(sf.url_decode(df.url)).show()
Output
+---------------+
|url_decode(url)|
+---------------+
| A+B==|
+---------------+
Exemple 4 : Décoder une chaîne codée en URL avec des caractères non ASCII
Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([("%E4%BD%A0%E5%A5%BD",)], ["url"])
df.select(sf.url_decode(df.url)).show()
Output
+---------------+
|url_decode(url)|
+---------------+
| 你好|
+---------------+
Exemple 5 : décodage d'une chaîne encodée en URL avec des valeurs hexadécimales
Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([("%7E%21%40%23%24%25%5E%26%2A%28%29%5F%2B",)], ["url"])
df.select(sf.url_decode(df.url)).show()
Output
+---------------+
|url_decode(url)|
+---------------+
| ~!@#$%^&*()_+|
+---------------+