Tấn Phát Digital

JSON Escape Online - Escape, Unescape Chuỗi Cho JSON, JS, HTML, SQL

Escape và unescape chuỗi cho JSON, JavaScript, HTML, URL, SQL, CSV, regex và shell. Xử lý đúng emoji, tiếng Việt, hiện rõ ký tự vô hình. Chạy hoàn toàn trong trình duyệt.

Ký tự vô hình

Đầu vào: 36 đơn vị UTF-16, 36 code point, 36 ký tự nhìn thấy, 40 byte UTF-8

  • U+000A LF xuống dòng: 1
  • U+0009 TAB: 1
Anh "Tấn" nói:↵
→Xin chào C:\Users\An

Kết quả: 42 đơn vị UTF-16, 42 code point, 42 ký tự nhìn thấy, 46 byte UTF-8

Không có ký tự vô hình hay ký tự điều khiển (ngoài dấu cách thường).

Hợp tác ngay với Tấn Phát Digital

Chúng tôi không chỉ thiết kế website, mà còn giúp doanh nghiệp xây dựng thương hiệu số mạnh mẽ. Cung cấp dịch vụ thiết kế website trọn gói từ thiết kế đến tối ưu SEO. Hãy liên hệ ngay với Tấn Phát Digital để cùng tạo nên những giải pháp công nghệ đột phá, hiệu quả và bền vững cho doanh nghiệp của bạn tại Hồ Chí Minh.

JSON escape online và 7 kiểu escape chuỗi khác trong một công cụ

Công cụ JSON escape online này thêm dấu gạch chéo ngược đúng chỗ để một đoạn văn bản bất kỳ nằm gọn trong chuỗi JSON, và làm điều ngược lại khi bạn cần đọc chuỗi đã escape. Ngoài JSON còn có JavaScript (nháy đơn, nháy kép, template), HTML, URL, SQL, CSV, regex và shell. Công cụ xử lý đúng emoji, tiếng Việt, và hiện rõ các ký tự vô hình như dấu cách độ rộng 0 hay BOM.

Tính năng nổi bật

  • 8 kiểu escape: JSON, JavaScript, HTML, URL, SQL, CSV, regex, shell; mỗi kiểu có cả chiều escape và unescape
  • JavaScript theo đúng loại dấu nháy: nháy đơn, nháy kép hoặc template literal (escape cả ` và ${)
  • Tùy chọn chỉ xuất ASCII: tiếng Việt và emoji đổi thành \uXXXX, cặp surrogate hoặc \u{1F600}, hay thực thể 😀 cho HTML
  • Xử lý đúng emoji và cặp surrogate, cảnh báo khi chuỗi có nửa cặp surrogate lẻ do bị cắt giữa chừng
  • SQL nhân đôi dấu nháy đơn, tùy chọn nhân đôi cả dấu \ cho MySQL, kèm cảnh báo luôn dùng truy vấn tham số hóa
  • CSV tự bao ngoặc kép khi cần, chọn dấu phẩy, chấm phẩy hay tab, tùy chọn chặn công thức Excel (CSV injection)
  • Bảng ký tự vô hình cho cả đầu vào và kết quả: tab, xuống dòng, NBSP, ZWSP, BOM, ký tự đảo chiều, kèm mã U+
  • Đếm độ dài theo đơn vị UTF-16, code point, ký tự nhìn thấy và số byte UTF-8

Vì sao escape bằng tay dễ sai

Mỗi ngữ cảnh có luật escape riêng và chúng không thay thế cho nhau: JSON bắt buộc escape dấu ngoặc kép và ký tự xuống dòng nhưng không cho phép \x41; JavaScript chấp nhận \x41 nhưng trong template literal lại phải escape ${; SQL không dùng dấu gạch chéo mà nhân đôi dấu nháy đơn; CSV cũng nhân đôi nhưng là dấu ngoặc kép; shell thì không có cách escape dấu nháy đơn bên trong nháy đơn mà phải đóng chuỗi, chèn \' rồi mở lại. Làm tay, người ta thường sửa chỗ này quên chỗ kia, nhất là với văn bản có đường dẫn Windows (C:\Users), emoji hoặc ký tự vô hình chép từ Word, Excel. Công cụ này áp dụng đúng luật của từng ngữ cảnh và đã được kiểm tra khứ hồi: escape rồi unescape phải ra đúng chuỗi ban đầu.

Lợi ích khi sử dụng

  • Nhúng văn bản nhiều dòng, có dấu ngoặc kép vào JSON hoặc mã nguồn mà không làm hỏng cú pháp
  • Đọc nhanh chuỗi đã escape trong log, phản hồi API hay file cấu hình
  • Tránh lỗi emoji bị vỡ thành ký tự lạ do xử lý sai cặp surrogate
  • Tìm ra ký tự vô hình gây lỗi so sánh chuỗi, lỗi đăng nhập hay lỗi đọc file
  • Viết nhanh dữ liệu mẫu, script migration SQL có tên riêng chứa dấu nháy như O'Brien
  • Tạo đối số dòng lệnh an toàn cho tên file có dấu cách và dấu nháy

Cách escape và unescape chuỗi

  1. 1Chọn ngữ cảnh: JSON, JavaScript, HTML, URL, SQL, CSV, Regex hoặc Shell.
  2. 2Chọn chiều Escape (văn bản thường sang dạng an toàn) hoặc Unescape (ngược lại).
  3. 3Bật các tùy chọn cần thiết như chỉ xuất ASCII, loại dấu nháy, dấu phân cách CSV hay nhân đôi dấu \ cho MySQL.
  4. 4Dán văn bản vào ô Đầu vào; kết quả cập nhật ngay ở ô bên cạnh.
  5. 5Xem khung Ký tự vô hình để phát hiện dấu cách lạ, BOM hay ký tự điều khiển trước khi dùng kết quả.
  6. 6Bấm Sao chép kết quả, hoặc Đảo chiều để kiểm tra lại bằng cách unescape chính kết quả vừa tạo.

JSON escape: những ký tự nào phải escape

Trong chuỗi JSON, bắt buộc escape dấu ngoặc kép thành \", dấu gạch chéo ngược thành \\ và mọi ký tự điều khiển từ U+0000 đến U+001F; các ký tự thông dụng có dạng ngắn \n, \r, \t, \b, \f, phần còn lại viết \u00XX. Chữ tiếng Việt và emoji được phép để nguyên vì JSON dùng UTF-8. Công cụ escape thêm U+2028 và U+2029 thành \u2028, \u2029: hai ký tự này hợp lệ trong JSON nhưng từng làm vỡ mã JavaScript khi nhúng JSON vào thẻ script. Ví dụ đoạn gồm dòng Anh "Tấn" nói: và dòng thứ hai bắt đầu bằng tab rồi Xin chào sẽ thành Anh \"Tấn\" nói:\n\tXin chào. Khi bật Chỉ xuất ASCII, chữ Tấn cùng biểu tượng mặt cười U+1F600 thành T\u1ea5n 😀, trong đó emoji là một cặp surrogate hai mã \u.

Emoji, cặp surrogate và \u{...}

JavaScript và JSON lưu chuỗi theo đơn vị UTF-16. Ký tự ngoài mặt phẳng cơ bản, gồm hầu hết emoji, chiếm hai đơn vị gọi là cặp surrogate, ví dụ biểu tượng mặt cười U+1F600 là D83D DE00. JSON chỉ có dạng \uXXXX nên emoji luôn phải viết thành hai mã liền nhau. JavaScript từ ES2015 có thêm dạng \u{1F600} gọn hơn; công cụ cho chọn giữa hai dạng. Nếu cắt chuỗi theo độ dài mà rơi vào giữa cặp, sẽ còn lại nửa cặp lẻ, không phải ký tự hợp lệ; công cụ cảnh báo vị trí trường hợp này. Emoji ghép như biểu tượng gia đình thực chất là nhiều emoji nối bằng ký tự ZWJ vô hình, nên độ dài chuỗi lớn hơn nhiều so với số ký tự nhìn thấy; khung thống kê cho thấy rõ sự khác biệt này.

Escape chuỗi JavaScript theo từng loại dấu nháy

Với chuỗi nháy kép chỉ cần escape dấu nháy kép, với nháy đơn chỉ escape nháy đơn, nên chọn đúng loại giúp kết quả gọn hơn. Template literal (dấu `) cho phép xuống dòng thật nên công cụ giữ nguyên dòng mới, nhưng phải escape dấu ` và chuỗi ${ để không bị hiểu là biểu thức: It's ${x} thành It's \${x}. Ký tự NUL đứng trước chữ số được viết \x00 thay vì \0 để tránh bị hiểu thành mã bát phân. Chiều unescape hiểu đủ các dạng \n, \xHH, \uXXXX, \u{...}, nối dòng bằng dấu \ cuối dòng và cả mã bát phân kiểu cũ (có cảnh báo vì strict mode không cho phép).

SQL escape không thay thế được truy vấn tham số hóa

Trong SQL chuẩn, dấu nháy đơn trong chuỗi được viết thành hai dấu nháy đơn: O'Brien thành 'O''Brien'. MySQL và MariaDB ở chế độ mặc định còn coi dấu \ là ký tự thoát, nên cần nhân đôi thêm dấu \; PostgreSQL, SQL Server, SQLite thì không. Công cụ phục vụ việc viết tay câu lệnh, dữ liệu mẫu và script migration. Trong mã ứng dụng, hãy luôn dùng truy vấn tham số hóa (prepared statement với dấu ? hoặc $1) để thư viện cơ sở dữ liệu tự truyền giá trị. Tự ghép chuỗi đã escape vẫn có thể bị SQL injection khi bảng mã ký tự, chế độ máy chủ khác với giả định, hoặc giá trị nằm ngoài dấu nháy như tên cột, mệnh đề ORDER BY.

CSV, regex và shell: ba kiểu escape hay bị nhầm

CSV bao ô trong dấu ngoặc kép khi ô chứa dấu phân cách, dấu ngoặc kép, xuống dòng hoặc khoảng trắng đầu cuối, và nhân đôi dấu ngoặc kép bên trong: Nguyễn Văn "Tí", Hà Nội thành "Nguyễn Văn ""Tí"", Hà Nội". Ô bắt đầu bằng =, +, - hoặc @ có thể bị Excel chạy như công thức, nên có tùy chọn thêm dấu ' ở đầu. Regex cần escape các ký tự có nghĩa đặc biệt ^ $ \ . * + ? ( ) [ ] { } | và / để tìm đúng chuỗi: giá (VND): 1.000.000? thành giá \(VND\): 1\.000\.000\?; kết quả dùng được cả khi bật cờ u. Shell bọc toàn bộ trong nháy đơn, dấu nháy đơn bên trong thành '\'' nên It's here thành 'It'\''s here', an toàn với bash, sh và zsh.

Ký tự vô hình: nguyên nhân của nhiều lỗi khó tìm

Văn bản chép từ Word, trang web hay ứng dụng chat thường mang theo ký tự không nhìn thấy: dấu cách không ngắt NBSP (U+00A0), dấu cách độ rộng 0 ZWSP (U+200B), BOM (U+FEFF) ở đầu file, ký tự đảo chiều RLO có thể làm tên file hiển thị sai. Chúng khiến so sánh chuỗi trả về khác nhau dù nhìn giống hệt, khiến mật khẩu, mã giảm giá nhập đúng mà vẫn báo sai. Khung Ký tự vô hình đánh dấu từng ký tự như vậy bằng mã U+ và đếm số lần xuất hiện. Công cụ cũng nhận ra chữ tiếng Việt ở dạng dấu tách rời (NFD, hay gặp khi chép tên file từ macOS) và cho phép chuẩn hóa về NFC, nhưng không tự đổi vì việc đó làm thay đổi dữ liệu gốc.

Giới hạn của công cụ

Chế độ HTML giải mã mọi thực thể dạng số và gần 150 thực thể có tên thường gặp; thực thể hiếm hơn được giữ nguyên kèm cảnh báo, bạn tra đủ bảng trong HTML Entity Encoder. Chế độ URL mã hóa một thành phần (giá trị tham số) bằng encodeURIComponent; mã hóa cả đường dẫn đầy đủ nên dùng URL Encoder. Chế độ regex chiều unescape chỉ đổi được mẫu là chuỗi đã escape, các lớp ký tự như \d, \w được giữ nguyên. Chế độ shell theo quy tắc POSIX sh và bash, không áp dụng cho cmd hay PowerShell trên Windows. Mỗi lần xử lý là toàn bộ đầu vào như một giá trị, trừ chiều unescape của shell tách thành từng đối số.

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

JSON escape là gì?

Là việc thay các ký tự đặc biệt trong văn bản bằng chuỗi thoát để văn bản nằm được trong một chuỗi JSON: dấu " thành \", dấu \ thành \\, xuống dòng thành \n, tab thành \t, các ký tự điều khiển khác thành \u00XX.

Làm sao unescape một chuỗi JSON đọc được từ log?

Chọn JSON, chọn chiều Unescape rồi dán chuỗi vào. Nếu chuỗi có dấu ngoặc kép bao ngoài, công cụ tự bỏ (có thể tắt tùy chọn này). Kết quả hiện văn bản gốc với xuống dòng và dấu nháy thật.

Có cần escape chữ tiếng Việt trong JSON không?

Không bắt buộc, JSON dùng UTF-8 nên chữ có dấu để nguyên là hợp lệ. Chỉ bật Chỉ xuất ASCII khi hệ thống đích không đọc đúng UTF-8, ví dụ một số file cấu hình cũ hoặc kênh truyền chỉ chấp nhận ASCII.

Vì sao emoji lại thành hai mã \u?

Vì emoji nằm ngoài mặt phẳng cơ bản của Unicode, UTF-16 phải biểu diễn bằng một cặp surrogate. JSON chỉ có dạng \uXXXX nên emoji mặt cười U+1F600 thành 😀. JavaScript hiện đại còn cho viết gọn là \u{1F600}.

Escape SQL bằng công cụ này có chống được SQL injection không?

Không nên dựa vào đó. Công cụ dùng để viết tay câu lệnh và dữ liệu mẫu. Trong mã ứng dụng, hãy dùng truy vấn tham số hóa, để thư viện cơ sở dữ liệu truyền giá trị tách biệt khỏi câu lệnh.

Khi nào cần bật nhân đôi dấu \ trong chế độ SQL?

Khi câu lệnh chạy trên MySQL hoặc MariaDB ở chế độ mặc định (không bật NO_BACKSLASH_ESCAPES), vì ở đó dấu \ là ký tự thoát. PostgreSQL (chuỗi thường), SQL Server và SQLite không cần.

Khác nhau giữa escape HTML ở đây và HTML Entity Encoder?

Chế độ HTML ở đây escape năm ký tự bắt buộc & < > " ' để chèn văn bản an toàn vào trang, có tùy chọn đổi mọi ký tự ngoài ASCII thành thực thể số. HTML Entity Encoder có bảng tra đầy đủ các thực thể có tên và nhiều tùy chọn hơn cho riêng HTML.

Chế độ URL có giống encodeURIComponent không?

Có, mặc định là encodeURIComponent. Tùy chọn RFC 3986 mã hóa thêm ! ' ( ) *, tùy chọn kiểu form đổi dấu cách thành dấu +. Chiều giải mã giữ nguyên các cụm %XX không phải UTF-8 hợp lệ thay vì báo lỗi cả chuỗi.

Vì sao cần escape dấu / trong regex?

Trong regex dạng /.../ của JavaScript, dấu / kết thúc biểu thức. Escape thành \/ giúp mẫu dùng được cả trong dạng literal lẫn new RegExp(), và vẫn hợp lệ khi bật cờ u.

Làm sao đưa tên file có dấu nháy đơn vào lệnh bash?

Chọn Shell, chiều Escape. Công cụ bọc tên file trong nháy đơn và thay mỗi dấu ' bên trong bằng '\'', ví dụ It's here thành 'It'\''s here'. Chuỗi này chạy đúng trong bash, sh và zsh.

Ký tự vô hình là gì và vì sao cần quan tâm?

Là các ký tự không hiển thị như ZWSP, NBSP, BOM, ký tự đảo chiều. Chúng làm hai chuỗi nhìn giống nhau nhưng khác nhau khi so sánh, gây lỗi tìm kiếm, đăng nhập, đọc file. Khung Ký tự vô hình liệt kê từng loại kèm mã U+.

Công cụ có gửi dữ liệu đi đâu không?

Không. Mọi phép escape và unescape chạy trong trình duyệt, văn bản bạn dán không được gửi lên máy chủ.

Vì sao unescape báo lỗi chuỗi thoát không hợp lệ?

Mỗi ngữ cảnh chỉ chấp nhận một số chuỗi thoát. Ví dụ JSON không có \x41 hay \' nên sẽ báo lỗi, trong khi JavaScript chấp nhận cả hai. Hãy kiểm tra chuỗi thật sự thuộc ngữ cảnh nào rồi chọn đúng chế độ.

Từ khóa liên quan

  • json escape online
  • json unescape online
  • escape string json
  • escape chuỗi json
  • javascript string escape
  • escape dấu ngoặc kép
  • html escape online
  • url encode component
  • sql escape single quote
  • escape dấu nháy đơn sql
  • csv escape quotes
  • regex escape online
  • escape ký tự đặc biệt regex
  • shell escape single quote
  • unicode escape emoji
  • surrogate pair
  • ký tự vô hình zero width space
  • xóa bom utf-8
  • string escape tool
  • escape unescape online

Công cụ Developer Tools liên quan

.env Generator

Tạo file .env và .env.example cho dự án.

.gitignore Generator

Tạo .gitignore cho Node.js, Python, Java.

API Mock Generator

Tạo mock JSON data cho API testing.

API Response Formatter

Format và phân tích API response.

API Tester

Test REST API: GET, POST, PUT, DELETE.

Postman Alternative - API Testing Tool Online với Collections, Environment & File Upload

Postman Alternative miễn phí - Test APIs với Collections, Multiple Environments, Pre-request Scripts, Collection Runner, File Upload (form-data), Tests/Assertions, Code Generation (cURL, JS, Python, Node.js). Browser-based, không cần cài đặt. Save requests, export/import collections, auto-save history. Hỗ trợ Bearer Token, Basic Auth, API Key. Hoàn hảo cho API development và testing.

Swagger API Tester - Test API với OpenAPI/Swagger Spec & Authentication Online

Swagger API Tester miễn phí - Import OpenAPI/Swagger specification và test API endpoints với đầy đủ authentication (Bearer Token/JWT, Basic Auth, API Key). Hỗ trợ OpenAPI 3.0, Swagger 2.0, auto-parse endpoints, parameters, request body. Giao diện như Swagger UI với color-coded methods, grouped endpoints, real-time testing. Hoàn hảo cho API development, testing, debugging secured APIs.

Base Converter

Chuyển đổi Binary, Hex, Base32.

Base64 Encoder

Mã hóa/giải mã Base64.

Binary Converter

Chuyển đổi Decimal, Binary, Hex.

Box Shadow Generator

Tạo CSS box-shadow trực quan.

Chmod Calculator

Tính quyền file Linux.

Dịch vụ của Tấn Phát Digital

Đang xây sản phẩm và cần thêm người làm phần nặng?

Gói giải pháp doanh nghiệp

Nền tảng custom cho ngân hàng, y tế và sàn B2B, chuẩn ISO 27001, GDPR, PCI-DSS, SLA 99.99%.

Từ 50.000.000đXem chi tiết →

Dịch vụ phát triển Blockchain & Web3

Smart contract, dApp và NFT marketplace đa chuỗi, audit bảo mật đầy đủ trước khi lên mainnet.

Từ 50.000.000đXem chi tiết →

Dịch vụ thiết kế website tại Hồ Chí Minh

Website doanh nghiệp, bán hàng và đặt lịch, chuẩn SEO ngay từ cấu trúc, tốc độ tải dưới 3 giây.

Từ 5.000.000đXem chi tiết →

Dịch vụ thiết kế landing page

Trang đích riêng cho từng chiến dịch quảng cáo, tỷ lệ chuyển đổi 3–8%, bàn giao trong 5–21 ngày.

Từ 3.000.000đXem chi tiết →

Tư vấn và báo giá miễn phí trong 24 giờ. Xem toàn bộ dịch vụ

Zalo
Facebook
TAN PHAT DIGITAL
Zalo
Facebook