Декодувати URL-коди: %D1%97 знову стає ї

Замість ї у тексті стоїть %D1%97, а замість пробілу %20? Це URL-кодування, або відсоткове кодування. Вставте текст угорі: Mojibuster одразу перетворить коди на справжні літери, без завантаження на сервер.

Працює з текстом і файлами:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • SMI
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

Наприклад, вивантаження з Excel і 1С, дампи баз даних, субтитри або код сайтів.

Виправити

  1. Перетягніть файл або вставте текст
  2. Виправлення відбувається автоматично
  3. Скопіюйте або завантажте
або просто перетягніть файл сюди
  • Без надсилання на сервер. Файли виправляються прямо в браузері й не залишають ваш пристрій.

  • Сервери в ЄС. Mojibuster працює на сервері в країні Фінляндія (ЄС), тому діє Загальний регламент про захист даних (GDPR). Текст GDPR (EUR-Lex, англ.)

Як працює URL-кодування

В адресах сайтів дозволено лише кілька символів: латинські літери, цифри та кілька знаків. Усе інше кодується. В UTF-8 літера ї складається з байтів D1 і 97, тому виходить %D1%97. Пробіл перетворюється на %20, а у формах – на +.

Так виглядає URL-текст і так він читається знову.

Закодовано

%D0%91%D0%BE%D1%80%D1%89 %D1%83 %D0%9A%D0%B8%D1%94%D0%B2%D1%96

Розкодовано

Борщ у Києві

Найчастіші URL-коди

  • %D1%97 = ї, %D0%87 = Ї, %D1%94 = є, %D0%84 = Є
  • %D1%96 = і, %D0%86 = І, %D2%91 = ґ, %D2%90 = Ґ
  • %E2%82%AC = €, %E2%80%99 = ’, %E2%80%93 = –
  • %20 = пробіл, %2F = /, %3F = ?, %26 = &, %25 = %

Український текст легко впізнати за початком кодів: майже кожна кирилична літера – це два байти, %D0… або %D1…, а ґ починається з %D2. Тож %D0%94%D1%96%D0%BC читається як Дім. Старі системи кодують кожну літеру одним байтом з Windows-1251: %CA%E8%BF%E2 замість %D0%9A%D0%B8%D1%97%D0%B2. Mojibuster розпізнає й це і робить із нього Київ.

Звідки береться текст із кодами

  • Скопійовані посилання: браузер показує uk.wikipedia.org/wiki/Київ, але в буфер обміну часто потрапляє %D0%9A%D0%B8%D1%97%D0%B2.
  • Форми та мітки: пошукові запити й UTM-мітки зберігаються в логах серверів і вивантаженнях аналітики закодованими, наприклад ?q=%D0%B1%D0%BE%D1%80%D1%89.
  • Вивантаження та API: деякі сервіси розсилок, вебхуки й API зберігають значення закодованими; тоді в CSV-файлі замість імен стоять коди.
  • Імена файлів: завантажений файл називається %D0%A0%D0%B0%D1%85%D1%83%D0%BD%D0%BE%D0%BA.pdf, якщо сервер не розкодував ім’я.

Коди й кракозябри водночас

Іноді текст зіпсовано двічі: %D0%A1%E2%80%94 – це закодовані кракозябри С—, тобто ї, яку спершу прочитали неправильно, а потім закодували. Mojibuster спершу розкодує коди, а потім виправить кодування Windows-1251. Зрештою знову буде ї.

Опція Також перетворити коди на цій сторінці вже ввімкнена. Вона перетворює й HTML-коди (ї), коди з листів (=D1=97) та екрановані послідовності з програм (\u0457). Інші помилки з літерами: що таке кракозябри.

Розкодувати самому: Excel, JavaScript, Python і PHP

  • Excel: має лише функцію кодування (ENCODEURL в англійській версії), функції розкодування немає. Найпростіше скопіювати стовпець, вставити сюди й повернути результат. Див. також кракозябри в Excel.
  • JavaScript: decodeURIComponent('%D0%9A%D0%B8%D1%97%D0%B2') дає Київ.
  • Python: urllib.parse.unquote('%D0%9A%D0%B8%D1%97%D0%B2'), а для даних форм, де + означає пробіл, unquote_plus.
  • PHP: rawurldecode() або urldecode() для даних форм.

Часті запитання

Що означає %D1%97?

Це ї в URL-кодуванні: два байти UTF-8 D1 і 97, перед кожним стоїть %. Так само %D1%96 – це і, а %D1%94 – це є.

Що означає %20?

Пробіл. У даних форм замість нього часто стоїть +. Mojibuster залишає + як є: у звичайному тексті це може бути справжній плюс.

Мої посилання завантажуються на сервер?

Ні. Перетворення повністю виконується у вашому браузері. Посилання з токенами, адресами пошти й іншими особистими даними не залишають ваш пристрій.

Чому 100% не змінюється?

Mojibuster перетворює лише послідовності, з яких виходить справжній символ. 100%, 50 % або самотній %20 у звичайному тексті залишаються як є.

Інші інструкції