onlinetools.dev

Thoát / bỏ thoát chuỗi

Thoát hoặc bỏ thoát chuỗi theo quy tắc JSON, JavaScript, Java, XML, SQL và CSV

Chạy cục bộ
loading…
Về công cụ này

Biến một chuỗi nhiều dòng có dấu nháy thành thứ bạn dán được vào một giá trị JSON, một literal JavaScript, một chuỗi Java, một nút văn bản XML, một literal SQL hay một ô CSV — và làm ngược lại khi bạn bắt gặp đoạn text đã thoát ký tự trong tệp log mà muốn đọc cho ra. Sáu phương ngữ, cả hai chiều.

Mỗi phương ngữ bám theo đúng đặc tả của nó chứ không hạ xuống mẫu số chung: JSON thoát ký tự điều khiển thành \uXXXX, JavaScript thoát thêm nháy đơn và dấu huyền, Java mã hóa phần ngoài ASCII thành các dãy UTF-16 \u, SQL nhân đôi dấu nháy đơn, CSV bọc và nhân đôi theo RFC 4180, còn XML dùng năm thực thể định nghĩa sẵn của mình. Chiều bỏ thoát hiểu cả dạng \x, \u và \u{…}, và báo rõ vị trí của những dãy sai định dạng.

Chuỗi đã thoát ký tự thường là chuỗi kết nối, token và mảnh truy vấn. Công cụ này chạy cục bộ — cứ dán thoải mái.

Câu hỏi thường gặp

Với một tệp cấu hình JSON thì tôi cần phương ngữ nào?
JSON. Nó thoát dấu nháy kép, dấu gạch chéo ngược và các ký tự điều khiển đúng như RFC 8259 yêu cầu, đồng thời để phần unicode vẫn đọc được. Kết quả bỏ vừa vào bất kỳ giá trị chuỗi JSON nào — trừ cặp nháy bao ngoài, phần đó công cụ để bạn tự thêm.
Phương ngữ JSON và JavaScript khác nhau ra sao?
JavaScript thoát thêm nháy đơn và dấu huyền để kết quả an toàn với cả ba kiểu bọc chuỗi của JS. Còn JSON chỉ cần xử lý dấu nháy kép. Chiều bỏ thoát chấp nhận cả hai, cộng thêm các dạng \x và \u{…} mà JSON không định nghĩa.
Thoát ký tự cho SQL có làm việc ghép chuỗi dữ liệu người dùng trở nên an toàn không?
Nó tạo ra một literal chuỗi SQL đúng chuẩn (dấu nháy được nhân đôi), nhưng thoát-rồi-ghép vẫn là mẫu sai với dữ liệu không đáng tin — hãy dùng truy vấn tham số hóa. Công cụ này dành cho dữ liệu mẫu, migration và gỡ lỗi, chứ không phải để phòng chống injection.
Vì sao chuỗi của tôi bỏ thoát không thành công?
Một dấu gạch chéo ngược theo sau bởi thứ không phải chuỗi thoát hợp lệ (\q, hay một \u12 bị cụt) là sai định dạng, và thông báo lỗi sẽ nêu đúng vị trí. Nếu văn bản của bạn có đường dẫn Windows viết thẳng, hãy thoát nó trước — C:\temp thực chất là một dấu tab trá hình.
Công cụ liên quan