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