如何将ASCII十六进制代码中的路径转换为等效的ASCII字母?

时间:2017-09-14 18:00:40

标签: python path urlencode

我试图在Python中使用以下路径:

/home/user/Music/library/1-02%2520Maralito.mp3

文件名为:“1-02 Maralito.mp3”

所以空间正在转换为代码%2520 ,我不知道代表什么。

我在Ubuntu上使用Rhythmbox API,我无法在Python中将值转换回来。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

此字符串已进行两次URL编码。 %25代表%个字符。解码%20产生的%25代表一个空格。

urllib.parse.unquote(仅在Python 2中为urllib.unquote)对%编码进行解码,您需要对其进行两次解码:

t = "/home/user/Music/library/1-02%2520Maralito.mp3"
from urllib.parse import unquote   # Python 3
from urllib import unquote         # Python 2
print(unquote(unquote(t)))