Baseline Widely available
ÐеÑод encodeURI () кодиÑÑÐµÑ ÑнивеÑÑалÑнÑй иденÑиÑикаÑÐ¾Ñ ÑеÑÑÑÑа (URI), замеÑÐ°Ñ Ð½ÐµÐºÐ¾ÑоÑÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð½Ð° однÑ, две, ÑÑи или ÑеÑÑÑе ÑпÑавлÑÑÑие поÑледоваÑелÑноÑÑи, пÑедÑÑавлÑÑÑие UTF-8 кодиÑÐ¾Ð²ÐºÑ Ñимвола (ÑеÑÑÑе ÑпÑавлÑÑÑие поÑледоваÑелÑноÑÑи бÑдÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ñ ÑолÑко Ð´Ð»Ñ Ñимволов, ÑоÑÑоÑÑÐ¸Ñ Ð¸Ð· двÑÑ Â«ÑÑÑÑогаÑнÑÑ Â» Ñимволов).
ÐнÑеÑакÑивнÑй пÑимеÑconst uri = "https://mozilla.org/?x=ÑеллÑ";
const encoded = encodeURI(uri);
console.log(encoded);
// Expected output: "https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B"
try {
console.log(decodeURI(encoded));
// Expected output: "https://mozilla.org/?x=ÑеллÑ"
} catch (e) {
// Catches a malformed URI
console.error(e);
}
СинÑакÑÐ¸Ñ ÐаÑамеÑÑÑ ÐозвÑаÑаемое знаÑение
ÐÐ¾Ð²Ð°Ñ ÑÑÑока, пÑедÑÑавлÑÑÑÐ°Ñ Ñобой ÑÑÑокÑ-паÑамеÑÑ, закодиÑованнÑÑ Ð² виде ÑнивеÑÑалÑного иденÑиÑикаÑоÑа ÑеÑÑÑÑа (URI).
ÐпиÑаниеÐÑедполагаеÑÑÑ, ÑÑо URI ÑвлÑеÑÑÑ Ð¿Ð¾Ð»Ð½Ñм URI, поÑÑÐ¾Ð¼Ñ Ð¼ÐµÑод не кодиÑÑÐµÑ Ð·Ð°ÑезеÑвиÑованнÑе ÑимволÑ, имеÑÑие оÑобое знаÑение в URI.
encodeURI заменÑÐµÑ Ð²Ñе ÑимволÑ, кÑоме ÑледÑÑÑÐ¸Ñ Ñ ÑооÑвеÑÑÑвÑÑÑими UTF-8 ÑпÑавлÑÑÑими поÑледоваÑелÑноÑÑÑми:
Тип ÐклÑÑÐµÐ½Ð¸Ñ ÐаÑезеÑвиÑованнÑе ÑимволÑ;
,
/
?
:
@
&
=
+
$
ÐеÑкÑаниÑÑемÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð»Ð°ÑинÑкие бÑквÑ, деÑÑÑиÑнÑе ÑиÑÑÑ, -
_
.
!
~
*
'
(
)
Score #
ÐамеÑим, ÑÑо encodeURI
Ñам по Ñебе не Ð¼Ð¾Ð¶ÐµÑ ÑÑоÑмиÑоваÑÑ Ð¿ÑавилÑнÑе HTTP GET и POST запÑоÑÑ, Ñакие как XMLHTTPRequests, поÑомÑ, ÑÑо "&", "+", и "=" не закодиÑованÑ, коÑоÑÑе воÑпÑинимаÑÑÑÑ ÐºÐ°Ðº ÑпеÑиалÑнÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð² GET и POST запÑоÑаÑ
. encodeURIComponent
, однако, кодиÑÑÐµÑ ÑÑи ÑимволÑ
ÐамеÑание: URIError
бÑÐ´ÐµÑ Ð±ÑоÑена, еÑли попÑÑаÑÑÑÑ Ð·Ð°ÐºÐ¾Ð´Ð¸ÑоваÑÑ ÑÑÑÑогаÑ, коÑоÑÑй не ÑвлÑеÑÑÑ ÑаÑÑÑÑ Ð²ÑÑоко-низкой паÑÑ, напÑимеÑ:
// низко-вÑÑÐ¾ÐºÐ°Ñ Ð¿Ð°Ñа - ноÑмалÑно
console.log(encodeURIComponent("\uD800\uDFFF"));
// один вÑÑокий ÑÑÑÑÐ¾Ð³Ð°Ñ Ð±ÑоÑÐ¸Ñ "URIError: malformed URI sequence"
console.log(encodeURIComponent("\uD800"));
// один низкий ÑÑÑÑÐ¾Ð³Ð°Ñ Ð±ÑоÑÐ¸Ñ "URIError: malformed URI sequence"
console.log(encodeURIComponent("\uDFFF"));
Также замеÑим, ÑÑо ÑледÑÑ Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ Ñвежей RFC3986 Ð´Ð»Ñ URL, коÑоÑÐ°Ñ Ð´ÐµÐ»Ð°ÐµÑ ÐºÐ²Ð°Ð´ÑаÑнÑе Ñкобки заÑиÑÑннÑми (Ð´Ð»Ñ IPv6) и Ñаким обÑазом не кодиÑÑеÑ, когда ÑоÑмиÑование Ñего-либо, не ÑвлÑÑÑегоÑÑ ÑаÑÑÑÑ URL (Ñакое как домен), ÑледÑÑÑий ÑÐ½Ð¸Ð¿Ð¿ÐµÑ Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ:
function fixedEncodeURI(str) {
return encodeURI(str).replace(/%5B/g, "[").replace(/%5D/g, "]");
}
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4