Функция url.PathEscape
Функция url.PathEscape из пакета net/url кодирует переданную строку таким образом, чтобы ее можно было безопасно использовать в качестве части пути URL. В отличие от url.QueryEscape, которая кодирует для строки запроса, данная функция оставляет без изменений некоторые символы, разрешенные в пути, например слеши. В первый параметр мы передаем строку для кодирования, а возвращает функция закодированную строку, которую можно безопасно подставлять в URL-путь.
Синтаксис
url.PathEscape(s string) string
Пример
Давайте закодируем простую строку с пробелами для использования в пути URL:
package main
import (
"fmt"
"net/url"
)
func main() {
res := url.PathEscape("hello world")
fmt.Println(res)
}
Результат выполнения кода:
"hello%20world"
Пример
Давайте закодируем строку, содержащую специальные символы и слеши:
package main
import (
"fmt"
"net/url"
)
func main() {
res := url.PathEscape("user/profile/name@domain.com")
fmt.Println(res)
}
Результат выполнения кода:
"user/profile/name@domain.com"
Пример
Давайте закодируем строку с кириллическими символами:
package main
import (
"fmt"
"net/url"
)
func main() {
res := url.PathEscape("привет мир")
fmt.Println(res)
}
Результат выполнения кода:
"%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82%20%D0%BC%D0%B8%D1%80"
Пример
Давайте закодируем строку с символом '#' и посмотрим на результат:
package main
import (
"fmt"
"net/url"
)
func main() {
res := url.PathEscape("section#top")
fmt.Println(res)
}
Результат выполнения кода:
"section%23top"
Смотрите также
-
функцию
url.PathUnescape,
которая выполняет декодирование строки из формата URL-пути -
функцию
url.QueryEscape,
которая кодирует строку для использования в строке запроса URL -
функцию
url.QueryUnescape,
которая декодирует строку из формата строки запроса URL -
функцию
url.Parse,
которая разбирает URL-строку на компоненты