Екранування / зняття екранування рядків
Екрануйте або знімайте екранування рядків для JSON, JavaScript, Java, XML, SQL і CSV
Про цей інструмент
Перетворіть багаторядковий рядок із лапками на щось, що можна вставити всередину значення JSON, літерала JavaScript, рядка Java, текстового вузла XML, літерала SQL чи клітинки CSV — і зверніть процес, коли натрапите на екранований текст у файлі логів і захочете його прочитати. Шість діалектів, обидва напрямки.
Кожен діалект дотримується власної специфікації, а не найменшого спільного знаменника: JSON екранує керівні символи як \uXXXX, JavaScript додатково екранує одинарні лапки й зворотні лапки, Java кодує не-ASCII як послідовності \u в UTF-16, SQL подвоює одинарні лапки, CSV огортає й подвоює за RFC 4180, а XML використовує свої п’ять наперед визначених сутностей. Зворотне екранування розуміє форми \x, \u і \u{…} та повідомляє про викривлені послідовності з їхньою позицією.
Екрановані рядки часто виявляються рядками підключення, токенами й фрагментами запитів. Усе працює локально — вставляйте вільно.
Часті запитання
- Який діалект потрібен для файлу конфігурації JSON?
- JSON. Він екранує подвійні лапки, зворотні скісні риски й керівні символи точно так, як вимагає RFC 8259, і лишає Unicode читабельним. Вивід підходить у будь-яке рядкове значення JSON — без обрамлювальних лапок, які інструмент лишає вам.
- Чим діалект JSON відрізняється від JavaScript?
- JavaScript додатково екранує одинарні лапки й зворотні лапки, тож результат безпечний у будь-якому з трьох стилів лапок JS. JSON потребує опрацювання лише подвійних лапок. Зворотне екранування приймає обидва, а також форми \x і \u{…}, яких JSON не визначає.
- Чи робить екранування SQL введення користувача безпечним для конкатенації?
- Воно дає коректний рядковий літерал SQL (лапки подвоєно), але екранування з наступною конкатенацією однаково лишається хибним шаблоном для недовіреного введення — беріть параметризовані запити. Цей інструмент для фікстур, міграцій і налагодження, а не для захисту від ін’єкцій.
- Чому зворотне екранування мого рядка не вдається?
- Зворотна скісна риска, за якою йде щось, що не є визначеним екрануванням (\q, обрізане \u12), вважається викривленою, і помилка називає проблемний індекс. Якщо у вашому тексті є буквальні шляхи Windows, спершу екрануйте його — C:\temp це замаскована табуляція.