Escape / Unescape chuỗi

Một công cụ để escape hoặc unescape chuỗi cho JSON, JavaScript, HTML, XML, thành phần URL, biểu thức chính quy, chuỗi SQL, chuỗi CSS và tham số shell.

37 ký tự · 39 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/Unescape chuỗi là gì?

Bộ escape đa định dạng: chọn nơi văn bản sẽ được đặt vào (chuỗi JSON, chuỗi JavaScript, HTML, XML, thành phần URL, biểu thức chính quy, chuỗi SQL, chuỗi CSS hoặc tham số shell) và nhận dạng đã escape đúng cách – hoặc đảo ngược lại.

Cách sử dụng Escape/Unescape chuỗi

  1. Chọn Escape hoặc Unescape.
  2. Chọn Định dạng.
  3. Gõ hoặc dán vào ô Đầu vào; kết quả xuất hiện trong ô Đầu ra.
  4. Dùng Dùng làm đầu vào để kiểm tra unescape có trả lại đúng bản gốc không.

Ví dụ

Đầu vào
He said "hi" C:\temp
Đầu ra
He said \"hi\" C:\\temp

Định dạng JSON, chế độ Escape.

Khi nào nên dùng Escape/Unescape chuỗi

Dùng để chuyển đổi nhanh khi viết mã hoặc gỡ lỗi. Với SQL, trong ứng dụng hãy ưu tiên truy vấn tham số hóa thay vì escape; định dạng SQL theo chuẩn ANSI ('') và không xử lý escape gạch chéo ngược của MySQL.

Escape/Unescape chuỗi hoạt động như thế nào

Mỗi định dạng có quy tắc riêng: JSON dùng quy tắc của JSON.stringify (\", \\, \n, \u001f); JavaScript thêm escape an toàn với \' và \xHH; HTML escape & < > " ' và unescape mọi thực thể HTML5; XML dùng năm thực thể định nghĩa sẵn; URL dùng quy tắc encodeURIComponent; Regex thêm gạch chéo ngược cho . * + ? ^ $ { } ( ) | [ ] \ / -; SQL nhân đôi nháy đơn (SQL chuẩn); CSS escape dấu nháy, gạch chéo ngược và ký tự điều khiển; Shell dùng kiểu nháy đơn POSIX.

Các Trường Hợp Sử Dụng Phổ Biến

  • Đưa văn bản nhiều dòng vào một chuỗi JSON
  • Escape một chuỗi nguyên văn để dùng trong regex
  • Viết chuỗi SQL có chứa dấu nháy đơn
  • Unescape chuỗi JSON sao chép từ log

Câu Hỏi Thường Gặp

Định dạng JSON và JavaScript khác nhau thế nào?

JSON chỉ cho phép một tập escape cố định và nháy kép; định dạng JavaScript còn escape nháy đơn bất kể ngữ cảnh và dùng \xHH cho ký tự điều khiển.

Escape SQL có đủ để chống injection không?

Nhân đôi dấu nháy là đúng với chuỗi SQL chuẩn, nhưng truy vấn tham số hóa mới là biện pháp phòng thủ đáng tin cậy.

Định dạng regex có escape đủ mọi thứ cần thiết không?

Nó escape mọi ký tự đặc biệt trong biểu thức chính quy JavaScript, kể cả / và -.

Bước tiếp theo nên làm

Khám phá thêm danh mục