onlinetools.dev

Екранування / зняття екранування рядків

Екрануйте або знімайте екранування рядків для JSON, JavaScript, Java, XML, SQL і CSV

Працює локально
loading…
Про цей інструмент

Перетворіть багаторядковий рядок із лапками на щось, що можна вставити всередину значення 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 це замаскована табуляція.
Пов’язані інструменти