Văn bản
String Escape
Escape văn bản thành chuỗi ký tự (dấu ngoặc kép, dấu gạch chéo ngược, ký tự điều khiển) để dán vào code, hoặc unescape ngược lại.
To put text containing quotes, line breaks, or backslashes inside a string literal in code, those characters need escaping — otherwise they'll end the string early or get misinterpreted. This tool escapes and unescapes text for a specific syntax.
How to use it
- Escape: paste text and pick a target context (a JS string, JSON, shell, etc.) and special characters get replaced with the matching escape sequences.
- Unescape: paste an already-escaped string to get the original text back.
- Different contexts escape the same character differently — make sure you've picked the mode matching where the text will actually be inserted.
Common uses
- Inserting multi-line text or text with quotes into a code variable without manually placing backslashes.
- Preparing a string for a shell command, where quotes and special characters can break execution.
- Unescaping a string copied from logs or a JSON response to read the original text.
Things to keep in mind
The same character (a double quote, for example) is escaped differently depending on context — a JS string, JSON, and a shell each have their own syntax and their own set of special characters.
Double-escaping (escaping already-escaped text) is a common mistake when passing data through multiple layers, like JSON nested inside a shell command.
Bài viết về công cụ này: String Escape: vì sao cùng một văn bản cần escape khác nhau
Câu hỏi thường gặp
Việc escape thực sự làm gì?
Nó chuyển đổi dấu ngoặc kép, dấu gạch chéo ngược và ký tự điều khiển (như xuống dòng hoặc tab) thành chuỗi escape hợp lệ trong literal chuỗi, để văn bản có thể dán nguyên vẹn vào mã nguồn.
Tùy chọn kiểu dấu ngoặc và unicode dùng để làm gì?
Kiểu dấu ngoặc (kép, đơn hoặc backtick) xác định ký tự nào cần escape để không làm hỏng chuỗi, và tùy chọn \uXXXX chuyển các ký tự không phải ASCII thành chuỗi unicode escape thay vì để nguyên.
Văn bản đã dán có được gửi đến máy chủ không?
Không, việc escape và hủy escape chạy hoàn toàn trong trình duyệt qua JavaScript, không có dữ liệu nào được gửi trực tuyến.
Phải làm gì nếu văn bản đi qua nhiều ngữ cảnh liên tiếp?
Cần escape theo đúng thứ tự: trước tiên cho ngữ cảnh bên trong (ví dụ JSON), sau đó cho ngữ cảnh bên ngoài (ví dụ lệnh shell chèn JSON đó vào). Nhầm lẫn thứ tự hoặc bỏ sót một tầng là nguyên nhân điển hình khiến một chuỗi "đã escape đúng" vẫn bị lỗi trên thực tế.
Vì sao cùng một dấu ngoặc kép lại được escape khác nhau ở các ngữ cảnh khác nhau?
Mỗi ngữ cảnh (chuỗi JS, JSON, shell, regex) có cú pháp riêng với bộ ký tự đặc biệt riêng và cách escape riêng của chúng — vì vậy cách escape đúng phụ thuộc vào nơi chính xác văn bản được chèn vào, chứ không phải bản thân văn bản.