JavaScript | Процент-кодирование в URI

JavaScript | Процент-кодирование в URI

При работе с адресами или файлами в вебе, может возникнуть такая ситуация, когда вместо русского названия адреса или файла вылезают какие-то непонятные проценты. Как их убрать?

Хорошие новости. Стандарт ECMAScript содержит в себе функции кодирования и декодирования подобных процентов:

  1. decodeURI ( encodedURI ) — от процентов к чему-то внятному
  2. encodeURI ( uri ) — что-то понятное в процент-кодированное

 

 

Пример

Есть строка, состоящая из процентов:

‘%D0%BA%D0%B0%D0%BA%D0%B0%D1%8F-%D1%82%D0%BE%20%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0’

Превращаем эту строку в нормальное человеческое представление:

decodeURI(‘%D0%BA%D0%B0%D0%BA%D0%B0%D1%8F-%D1%82%D0%BE%20%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0’)

результат преобразования:

‘какая-то строка’

Скриншот:

Превращаем строку с процент-кодированием в человеческий формат - JavaScript
Превращаем строку с процент-кодированием в человеческий формат — JavaScript

 

Информационные ссылки

Стандарт ECMAScript — Раздел «19.2.6.2 decodeURI ( encodedURI )» — https://tc39.es/ecma262/#sec-decodeuri-encodeduri

Стандарт ECMAScript — Раздел «19.2.6.4 encodeURI ( uri )» — https://tc39.es/ecma262/#sec-encodeuri-uri