fixmint
VI

Ký tự ẩn trong văn bản: chúng nằm ở đâu và cách xóa chúng

Tác giả: · · cập nhật 8 tháng 11, 2026 · 4 phút đọc

Ký tự ẩn là các mã Unicode vô hình, chẳng hạn khoảng trắng không độ rộng, khoảng trắng không ngắt và dấu hướng chữ. Chúng trông giống một dấu cách thông thường hoặc không hiển thị gì cả, nên văn bản có vẻ bình thường, nhưng khi tìm kiếm, mã nguồn và kiểm tra biểu mẫu thì lại bị coi là một văn bản khác. Bạn tìm chúng bằng cách kiểm tra các mã Unicode, và xóa chúng bằng cách loại bỏ hoặc thay thế đúng những ký tự đó.

Xóa ký tự ẩnVăn bản có ký tự ẩn lạDùng miễn phí

Chúng đến từ đâu

Phần lớn ký tự ẩn xuất hiện do sao chép chứ không phải do gõ:

  • Trang web. Nhiều trang dùng khoảng trắng không ngắt (U+00A0) để hai từ không bị tách qua hai dòng, và khoảng trắng không độ rộng (U+200B) để đánh dấu chỗ một từ dài có thể ngắt. Khi bạn sao chép một đoạn văn, chúng cũng được sao chép theo.
  • Trình soạn thảo văn bản. Dấu gạch nối mềm (U+00AD) được chèn để ngắt từ theo âm tiết. Chúng vô hình trừ khi dòng bị ngắt tại đó. Một số trình soạn thảo còn tự chèn khoảng trắng không ngắt ở một số vị trí nhất định.
  • Ứng dụng nhắn tin và email. Tin nhắn sao chép từ ứng dụng chat hoặc trình email có thể chứa bộ nối không độ rộng và dấu hướng chữ, nhất là khi văn bản trộn nhiều ngôn ngữ.
  • Văn bản có chiều ngược nhau. Tiếng Ả Rập, tiếng Do Thái và văn bản trộn lẫn dùng các dấu hướng chữ như dấu từ trái sang phải (U+200E), dấu từ phải sang trái (U+200F) và các ký tự nhúng, ghi đè (U+202A đến U+202E). Chúng điều khiển cách dòng chữ được hiển thị, chứ không thay đổi nội dung.
  • Dấu thứ tự byte. Dấu thứ tự byte (BOM, U+FEFF) ở đầu tệp là một chữ ký mà một số trình soạn thảo ghi vào. Nó vô hình, nhưng sẽ trở thành ký tự đầu tiên thực sự khi tệp được đọc như văn bản thuần.
  • Cửa sổ chat AI. Văn bản sao chép từ một số giao diện chat AI cũng có thể chứa các ký tự này. Nguyên nhân có khả năng là cách văn bản được hiển thị và sao chép, nên đừng coi đó là dấu hiệu của chủ ý.

Vì sao chúng gây lỗi

Mỗi ký tự ẩn là một mã Unicode thật, nên nó làm thay đổi văn bản ngay cả khi trang trông y hệt:

  • Tìm kiếm thất bại. Khoảng trắng không độ rộng nằm trong một từ sẽ làm hỏng kết quả khớp, nên tìm từ đó sẽ không ra gì.
  • Mã nguồn lỗi. Khoảng trắng không ngắt trong tệp mã nguồn là lỗi cú pháp ở nhiều ngôn ngữ, và thông báo lỗi thường trỏ tới một dòng trông hoàn toàn đúng. Hướng dẫn về dấu ngoặc kép cong đề cập đến một lỗi dán phổ biến khác trong mã nguồn.
  • Kiểm tra biểu mẫu từ chối dữ liệu. Một địa chỉ email có khoảng trắng không độ rộng sau ký tự @ trông hợp lệ nhưng sẽ không qua được kiểm tra.
  • Số đếm lệch. Số lượng ký tự có thể tính hoặc không tính các ký tự này tùy công cụ, nên cùng một văn bản có thể cho hai con số khác nhau. Hãy đếm văn bản trước và sau khi làm sạch bằng bộ đếm từ để thấy sự khác biệt.

Đây là một ví dụ nhỏ. Từ “invoice” có bảy chữ cái. Nếu có một khoảng trắng không độ rộng bên trong, từ đó sẽ dài tám mã Unicode, nhưng nhìn trên màn hình thì giống hệt. Tìm “invoice” sẽ bỏ sót phiên bản thứ hai.

Cách nhìn thấy chúng

Nhìn văn bản thì không giúp được gì, nên hãy dùng một trong các cách sau:

  1. Dán văn bản vào công cụ liệt kê mã Unicode, chẳng hạn Xóa ký tự ẩn, công cụ này sẽ báo những gì tìm thấy trước khi thay đổi bất cứ thứ gì.
  2. Trong trình soạn thảo mã, bật tùy chọn hiển thị khoảng trắng hoặc ký tự đặc biệt. Khi đó khoảng trắng không ngắt sẽ hiện ra với một ký hiệu khác dấu cách thông thường.
  3. Trong một ngôn ngữ lập trình, in các mã Unicode của một chuỗi đáng ngờ. Ví dụ trong Python, [hex(ord(c)) for c in text] liệt kê từng mã, nên khoảng trắng không ngắt sẽ hiện là 0xa0 và khoảng trắng không độ rộng là 0x200b.

Cách xóa chúng

Việc xóa cần chính xác. Xóa mọi ký tự ngoài ASCII cũng sẽ làm mất dấu thanh, dấu ngoặc kép và chữ cái của các ngôn ngữ khác. Thay vào đó:

  • Thay khoảng trắng không ngắt bằng dấu cách thông thường, vì chúng hầu như luôn được hiểu là dấu cách.
  • Xóa khoảng trắng không độ rộng, dấu gạch nối mềm, dấu thứ tự byte và các dấu hướng chữ còn sót lại.
  • Giữ lại chữ có dấu, dấu ngoặc kép cong và dấu câu thật.

Sửa văn bản đã dán được thiết kế cho văn bản lấy từ nơi khác, nên hãy dùng khi bản sao cũng bị ngắt dòng sai hoặc khoảng cách lạ.

Cách làm với fixmint

  1. Dán văn bản vào ô Văn bản của bạn.
  2. Đọc danh sách những gì được tìm thấy. Mỗi ký tự được gọi tên, chẳng hạn ZWSP cho khoảng trắng không độ rộng, và được đánh dấu cho biết sẽ xử lý thế nào.
  3. Giữ tùy chọn Giữ ký tự nối trong emoji được chọn, để các chuỗi emoji vẫn hiển thị thành một biểu tượng.
  4. Chỉ chọn Cũng chuyển dấu ngoặc kép cong, gạch ngang en/em và … thành ASCII thuần khi làm việc với mã hoặc dữ liệu, rồi dùng Sao chép hoặc Tải xuống .txt.

Các trường hợp đặc biệt

  • Chuỗi emoji cố tình dùng bộ nối không độ rộng. Xóa chúng sẽ tách một emoji thành nhiều biểu tượng.
  • Khoảng trắng không ngắt là đúng trong một số cách trình bày, chẳng hạn giữa một số và đơn vị của nó, và trong một số quy tắc dấu câu tiếng Pháp. Chỉ thay thế khi bạn biết chắc đó là ký tự thừa.
  • Sau khi làm sạch, hãy so sánh với bản gốc để thấy chính xác những gì đã thay đổi.

Câu trả lời nhanh

Ký tự ẩn có phải là dấu hiệu văn bản do AI viết không?

Không. Chúng xuất hiện từ trang web, trình soạn thảo văn bản, ứng dụng chat và thao tác sao chép-dán nói chung. Sự có mặt của chúng không cho biết ai hoặc cái gì đã viết văn bản.

Xóa mọi ký tự ngoài ASCII có giải quyết được vấn đề không?

Không. Làm vậy cũng sẽ xóa dấu thanh, dấu ngoặc kép và chữ cái của các ngôn ngữ khác. Hãy xóa đúng những mã Unicode vô hình.

Làm sao biết một chuỗi có chứa ký tự ẩn?

So sánh độ dài của chuỗi với số ký tự bạn nhìn thấy, hoặc dán vào công cụ liệt kê mã Unicode. Nếu hai con số khác nhau, nghĩa là có thứ gì đó vô hình bên trong.

Được dịch từ Bản tiếng Anh với sự hỗ trợ của AI.

Bình luận

    Chưa có bình luận nào. Hãy là người đầu tiên.

    Đánh giá của bạn (không bắt buộc)

    Email của bạn không bao giờ được hiển thị hoặc lưu lại.

    Bìa của How to Remain Valuable When Intelligence Becomes CheapHow to Remain Valuable When Intelligence Becomes Cheap

    224 trang về những lợi thế của con người, kinh tế và chiến lược vẫn khan hiếm khi AI có thể làm phần lớn công việc tư duy.

    $3.84Mua trên GumroadBản tiếng Anh