Функция url.PathUnescape
Функция url.PathUnescape выполняет декодирование URL-пути,
преобразуя процентно-кодированные символы обратно в их исходный вид.
В первый параметр функция принимает строку с закодированным URL-путем,
а возвращает декодированную строку и ошибку, если декодирование невозможно.
Эта функция является обратной к url.PathEscape и обычно используется
для обработки путей, полученных от клиентов или из внешних источников.
Синтаксис
url.PathUnescape(encodedPath string) (string, error)
Пример
Давайте декодируем URL-путь, содержащий пробелы и специальные символы:
package main
import (
"fmt"
"net/url"
)
func main() {
encoded := "path%20with%20spaces"
res, err := url.PathUnescape(encoded)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(res)
}
Результат выполнения кода:
"path with spaces"
Пример
Давайте декодируем путь, содержащий кириллические символы:
package main
import (
"fmt"
"net/url"
)
func main() {
encoded := "%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82"
res, err := url.PathUnescape(encoded)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(res)
}
Результат выполнения кода:
"привет"
Пример
Давайте посмотрим, как обрабатывается некорректный процентный код:
package main
import (
"fmt"
"net/url"
)
func main() {
encoded := "invalid%xy"
res, err := url.PathUnescape(encoded)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println(res)
}
Результат выполнения кода:
"Error: invalid URL escape \"%xy\""
Смотрите также
-
функцию
url.PathEscape,
которая выполняет кодирование URL-пути -
функцию
url.QueryUnescape,
которая декодирует параметры строки запроса -
функцию
url.QueryEscape,
которая кодирует параметры строки запроса -
функцию
url.Parse,
которая разбирает URL-строку на компоненты