JS метод Global.unescape()


Загальний опис

unescape() - це глобальна функція в JavaScript, яка призначена для декодування рядків, закодованих за допомогою escape(). Якщо ви раніше використовували escape() для кодування рядків, вам потрібно буде використовувати unescape(), щоб повернути рядок до його первісного стану.

Коли ми говоримо про веб, іноді нам потрібно передавати рядки через URL або в інших сценаріях, де певні символи можуть бути сприйняті як спеціальні. Щоб вирішити цю проблему, ми кодуємо рядки, конвертуючи спеціальні символи в послідовності, які можуть бути безпечно передані. escape() виконує таке кодування, а unescape() - його декодування.

У сучасному веб-розробництві використання escape() та unescape() не рекомендується, оскільки існують більш сучасні методи для кодування URI, такі як encodeURIComponent() та decodeURIComponent(). Однак, якщо ви працюєте зі старим кодом або ви знаходите необхідність декодувати рядок, закодований за допомогою escape(), вам потрібно буде використовувати unescape().

Приклад:

let encodedStr = escape("Привіт, світ!");
console.log(encodedStr);  // Виводить: "Привіт%2C%20світ%21"
let decodedStr = unescape(encodedStr);
console.log(decodedStr);  // Виводить: "Привіт, світ!"

У цьому прикладі ми спочатку кодуємо рядок "Привіт, світ!" за допомогою escape(), потім декодуємо його назад за допомогою unescape(), отримуючи первісний рядок.

Сучасні браузери вважають escape() та unescape() застарілими. Замість них рекомендується використовувати encodeURIComponent() та decodeURIComponent(). Використання застарілих функцій може призвести до непередбачених результатів. Завжди перевіряйте свою роботу та тестуйте в різних середовищах.

автор: Bond

Порада

Пам'ятайте, що використання unescape() може бути небезпечним у сценаріях, де вхідні дані не перевіряються наявність потенційно шкідливих рядків. Завжди переконайтеся, що ви обробляєте надійні дані перед тим, як застосовувати цей метод.

автор: Bond
Порада

unescape() було призначено для роботи зі старими URI. Для сучасних URI рекомендується використовувати decodeURIComponent() замість unescape(), оскільки він обробляє Unicode символи правильніше.

автор: Bond
Порада

unescape() вважається застарілим методом в JavaScript. Якщо у вас є старий код, який використовує цей метод, розгляньте можливість його заміни на сучасніше рішення, таке як decodeURIComponent(). Заміна застарілих функцій може збільшити продуктивність та безпеку вашого застосунка.

автор: Bond

Синтаксис

unescape(str)

Параметри

str

Рядок, який потрібно декодувати. Цей рядок може містити закодовані символи, такі як %20, %u043F тощо.

автор: Bond

Повернення

string

Повертає новий рядок, в якому деякі символи були декодовані (розкодовані).

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
1 1 1 3 12
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
0.10.0 1.0

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі рядок encodedUnicodeStr містить символи, закодовані у форматі Unicode з використанням префікса %u. Це зокрема корисно, коли потрібно представити не-ASCII символи. Використовуючи unescape(), ми можемо декодувати ці символи назад у їх вихідний вигляд. Тут декодований рядок буде "Привіт".

// Зашифрований рядок з набором символів Unicode
var encodedUnicodeStr = "%u041F%u0440%u0438%u0432%u0456%u0442";

// Використання unescape() для декодування рядка
var decodedUnicodeStr = unescape(encodedUnicodeStr);

console.log(decodedUnicodeStr); // Виведе: Привіт
автор: Bond

У цьому прикладі ми створили простий інтерфейс для користувача, де він може ввести закодований рядок і отримати його декодований варіант, використовуючи функцію unescape().

автор: Bond

У цьому прикладі ми маємо зашифрований рядок encodedStr із символами %20, які представляють пробіли в URL. Використовуючи unescape(), ми декодуємо цей рядок, перетворюючи %20 назад у пробіл.

// Зашифрований рядок
var encodedStr = "Hello%20World%21";

// Використання unescape() для декодування рядка
var decodedStr = unescape(encodedStr);

console.log(decodedStr); // Виведе: Hello World!
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід