字符串转义 / 反转义
一个工具搞定字符串转义与反转义:支持 JSON、JavaScript、HTML、XML、URL 组件、正则表达式、SQL 字面量、CSS 字符串和 Shell 参数。
37 个字符 · 39 字节(UTF-8)
0 个字符 · 0 字节(UTF-8)
完全在浏览器中运行,您的数据不会被上传。
什么是 转义/反转义工具?
多格式转义工具:选择文本的去向(JSON 字符串、JavaScript 字符串、HTML、XML、URL 组件、正则表达式、SQL 字符串字面量、CSS 字符串或 Shell 参数),即可得到正确转义后的形式,或将其还原。
如何使用 转义/反转义工具
- 选择转义或反转义。
- 选择格式。
- 在输入中键入或粘贴内容;结果会显示在输出中。
- 使用用作输入检查反转义后是否能还原为原文。
示例
He said "hi" C:\temp
He said \"hi\" C:\\temp
JSON 格式,转义模式。
何时使用 转义/反转义工具
适合编码或调试时快速转换。对于 SQL,应用程序中应优先使用参数化查询,而不是转义;SQL 格式遵循 ANSI 标准(''),不处理 MySQL 的反斜杠转义。
转义/反转义工具 的工作原理
每种格式都有自己的规则:JSON 遵循 JSON.stringify 的规则(\"、\\、\n、\u001f);JavaScript 增加对 \' 安全的转义和 \xHH;HTML 转义 & < > " ',并能反转义所有 HTML5 实体;XML 使用五个预定义实体;URL 遵循 encodeURIComponent 的规则;正则用反斜杠转义 . * + ? ^ $ { } ( ) | [ ] \ / -;SQL 将单引号重复一次(标准 SQL);CSS 转义引号、反斜杠和控制字符;Shell 使用 POSIX 单引号。
常见用例
- 把多行文本放进 JSON 字符串
- 为正则表达式转义字面字符串
- 编写包含撇号的 SQL 字面量
- 对从日志复制来的 JSON 字符串反转义
常见问题
JSON 和 JavaScript 格式有什么区别?
JSON 只允许固定的一组转义和双引号;JavaScript 格式还会不依赖上下文地转义单引号,并对控制字符使用 \xHH。
SQL 转义足以防止注入吗?
对标准 SQL 字符串字面量来说,将引号重复一次是正确的,但参数化查询才是可靠的防御手段。
正则格式会转义所有需要转义的字符吗?
它会转义 JavaScript 正则表达式中所有的特殊字符,包括 / 和 -。