/
githubmirror
/
omim
Обзор
Документация
Войти
/
githubmirror
/
omim
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
py-modules-0.2.8
coding/url_encode.hpp
48 строк
878 B
Sergey Yershov
Fix include path for coding
23 сен 2015, 02:45
23 сен 2015, 02:45
d4c11fa
Код
Авторство
О чём код?
#pragma once #include "coding/hex.hpp" #include "std/string.hpp" inline string UrlEncode(string const & rawUrl) { size_t const count = rawUrl.size(); string result; result.reserve(count); for (size_t i = 0; i < count; ++i) { char const c = rawUrl[i]; if (c < '-' || c == '/' || (c > '9' && c < 'A') || (c > 'Z' && c < '_') || c == '`' || (c > 'z' && c < '~') || c > '~') { result += '%'; result += NumToHex(c); } else result += rawUrl[i]; } return result; } inline string UrlDecode(string const & encodedUrl) { size_t const count = encodedUrl.size(); string result; result.reserve(count); for (size_t i = 0; i < count; ++i) { if (encodedUrl[i] == '%') { result += FromHex(encodedUrl.substr(i + 1, 2)); i += 2; } else result += encodedUrl[i]; } return result; }