Công cụ escape chuỗi JavaScript
Escape văn bản cho chuỗi JavaScript ("…", '…' hoặc `…`) với \n, \t, \" và tùy chọn \uXXXX cho ký tự ngoài ASCII – hoặc unescape chuỗi JS về văn bản.
36 ký tự · 40 byte (UTF-8)
0 ký tự · 0 byte (UTF-8)
Chạy hoàn toàn trong trình duyệt. Dữ liệu của bạn không bao giờ bị tải lên.
Escape JavaScript là gì?
Biến bất kỳ văn bản nào thành nội dung của một chuỗi JavaScript (string literal) hợp lệ theo kiểu dấu nháy bạn chọn, và chuyển chuỗi JS đã escape trở lại văn bản thuần.
Cách sử dụng Escape JavaScript
- Chọn Escape hoặc Unescape.
- Khi escape, chọn Dấu bao chuỗi (ngoặc kép, ngoặc đơn hoặc template literal) và tùy chọn Escape ký tự ngoài ASCII thành \uXXXX.
- Dán văn bản vào ô Đầu vào và sao chép Đầu ra vào giữa cặp dấu nháy của bạn.
Ví dụ
Path: C:\temp "new"
Path: C:\\temp \"new\"
Dấu bao chuỗi là ngoặc kép.
Khi nào nên dùng Escape JavaScript
Dùng khi viết cứng văn bản, template hoặc dữ liệu kiểu JSON vào mã nguồn JavaScript hoặc TypeScript. Khi nhúng dữ liệu vào thẻ HTML <script>, hãy đảm bảo </script> không thể xuất hiện; với dữ liệu JSON, hãy dùng JSON.stringify hoặc định dạng JSON của công cụ Escape/Unescape.
Escape JavaScript hoạt động như thế nào
Khi escape, dấu gạch chéo ngược, xuống dòng, về đầu dòng, tab, backspace, form feed và vertical tab được thay bằng \\ \n \r \t \b \f \v; dấu nháy đã chọn được thêm gạch chéo ngược (với template literal còn có ${); các ký tự điều khiển khác thành \xHH, và U+2028/U+2029 luôn được escape vì chúng làm hỏng parser cũ. Với tùy chọn ngoài ASCII, mọi ký tự trên U+007E thành \uXXXX (cặp surrogate cho emoji). Khi unescape, công cụ hiểu mọi escape của JS gồm \u{…}, \xHH, octal kiểu cũ và nối dòng.
Các Trường Hợp Sử Dụng Phổ Biến
- Dán văn bản nhiều dòng vào một hằng chuỗi JS
- Escape dấu nháy trong chuỗi cho trình sinh mã
- Tạo file mã nguồn chỉ gồm ASCII với escape \u
- Đọc chuỗi đã escape từ mã đã rút gọn hoặc log
Câu Hỏi Thường Gặp
Những dấu nháy nào được escape?
Chỉ dấu bạn chọn làm dấu bao chuỗi (cộng thêm backtick và ${ ở chế độ template), để kết quả vẫn dễ đọc.
Vì sao U+2028 và U+2029 được escape?
Trước ES2019 chúng được coi là ký tự kết thúc dòng bên trong chuỗi và có thể làm hỏng mã ở engine cũ.
Kết quả có phải JSON hợp lệ không?
Không phải lúc nào cũng vậy – JSON không cho phép \x, \v hay chuỗi dùng nháy đơn. Hãy dùng định dạng JSON của công cụ Escape/Unescape cho JSON.