cpp

Кодирование и декодирование строки запроса

Для кодирования и декодирования строки запроса можно использовать следующие функции из пакета net/url:

  • PathEscape() — заменяет все недопустимые символы и символ / в пути escape-последовательностями. Формат функции:
url.PathEscape(s string) string

Пример:

p := url.PathEscape("+test/s=строка&x=5")
fmt.Println(p)
// +test%2Fs=%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0&x=5
  • PathUnescape() — декодирует escape-последовательности. Символ + не заменяется пробелом. Формат функции:
url.PathUnescape(s string) (string, error)

Пример:

s := "+test%2Fs=%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0&x=5"
p, err := url.PathUnescape(s)
if err != nil {
   fmt.Println(err)
   return
}
fmt.Println(p) // +test/s=строка&x=5
  • QueryEscape() — заменяет все недопустимые символы в строке escape-последовательностями. Формат функции:
url.QueryEscape(s string) string

Пример:

p := url.QueryEscape("+test/s=строка&x=5")
fmt.Println(p)
// %2Btest%2Fs%3D%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0%26x%3D5
  • QueryUnescape() — декодирует escape-последовательности. Символ + заменяется пробелом. Формат функции:
url.QueryUnescape(s string) (string, error)

Пример:

s := "%2Btest%2Fs%3D%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0%26x%3D5"
p, err := url.QueryUnescape(s)
if err != nil {
   fmt.Println(err)
   return
}
fmt.Println(p) // +test/s=строка&x=5

Учебник Go (Golang)
Учебник Go (Golang) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

cpp