Bộ Phát Hiện Ký Tự Ẩn
Tiết lộ các ký tự ẩn khiến các dòng trông giống nhau không khớp. Dán văn bản của bạn để xem chính xác khoảng trắng không ngắt, khoảng trắng độ rộng bằng không, tab và các ký tự vô hình khác đang ẩn ở đâu.
Thử ví dụ:
Đầu vào
Nhập hoặc kéo và thả tệp
Ký Tự Ẩn Được Tìm Thấy
Dán văn bản vào bên trái để quét…
Tham chiếu ký tự ẩn
| Huy hiệu | Điểm mã | Tên | Phát hiện được |
|---|---|---|---|
| [NBSP] | U+00A0 | No-Break Space | ✓ Có |
| [ZWS] | U+200B | Zero-Width Space | ✓ Có |
| [ZWNJ] | U+200C | Zero-Width Non-Joiner | ✓ Có |
| [ZWJ] | U+200D | Zero-Width Joiner | ✓ Có |
| [BOM] | U+FEFF | Byte Order Mark | ✓ Có |
| [WJ] | U+2060 | Word Joiner | ✓ Có |
| [CR] | U+000D | Carriage Return (\r) | ✓ Có |
| [TAB] | U+0009 | Horizontal Tab | ✓ Có |
| [SHY] | U+00AD | Soft Hyphen | - |
| [NNBS] | U+202F | Narrow No-Break Space | - |
| [LRM] | U+200E | Left-to-Right Mark | ✓ Có |
| [RLM] | U+200F | Right-to-Left Mark | ✓ Có |
| [RTLO] | U+202E | Right-to-Left Override | ✓ Có |
| [LSEP] | U+2028 | Line Separator | - |
| [PSEP] | U+2029 | Paragraph Separator | - |
| [HAIR] | U+200A | Hair Space | - |
| [HAN-F] | U+3164 | Hangul Filler | ✓ Có |
| [BRL] | U+2800 | Braille Pattern Blank | ✓ Có |
| [ISPACE] | U+3000 | Ideographic Space | - |
Câu Hỏi Thường Gặp
Ký tự ẩn là gì?
Ký tự ẩn là các điểm mã Unicode hiển thị dưới dạng khoảng trắng hoặc không chiếm không gian hiển thị, nhưng về mặt kỹ thuật khác với dấu cách thông thường. Chúng thường xuất hiện trong dữ liệu được sao chép từ trang web, PDF, bảng tính và các trường cơ sở dữ liệu được xuất.
Các loại phổ biến được phát hiện bởi công cụ này:
Các loại phổ biến được phát hiện bởi công cụ này:
- NBSP (U+00A0) - trông giống hệt dấu cách thông thường nhưng là ký tự khác; được chèn bởi các trình soạn thảo HTML và bộ xử lý văn bản
- ZWS (U+200B) - hoàn toàn vô hình, không chiếm không gian; nguyên nhân hàng đầu khiến các dòng "giống nhau" không khớp
- ZWJ / ZWNJ - kiểm soát việc các ký tự liền kề có nối với nhau không; phổ biến trong tiếng Ả Rập, Ba Tư và các chuỗi emoji
- BOM (U+FEFF) - được thêm vào đầu tệp bởi Notepad Windows, Excel và PowerShell; khiến dòng đầu tiên không bao giờ khớp
- CR (U+000D) - ký tự xuống dòng; một phần của kết thúc dòng CRLF của Windows, gây ra sự không khớp ký tự cuối
- TAB (U+0009) - tab ngang; từ tệp TSV, trình soạn thảo mã và sao chép-dán từ terminal
Tại sao hai dòng trông giống nhau nhưng không khớp?
Dấu cách thông thường (U+0020) và khoảng trắng không ngắt (U+00A0) trông giống hệt nhau về mặt thị giác nhưng có mã ký tự hoàn toàn khác nhau. Khi so sánh danh sách, một mục có NBSP ở cuối sẽ không khớp với cùng mục có dấu cách thông thường - dù cả hai trông giống nhau trên màn hình.
Khoảng trắng có độ rộng bằng không còn khó phát hiện hơn: chúng không chiếm bất kỳ không gian hiển thị nào, vì vậy không có dấu hiệu thị giác nào về sự hiện diện của chúng cho đến khi việc so sánh hoặc tra cứu cơ sở dữ liệu thất bại bất ngờ.
Công cụ này tiết lộ chính xác nơi mỗi ký tự ẩn đang ẩn để bạn có thể làm sạch dữ liệu trước khi so sánh.
Khoảng trắng có độ rộng bằng không còn khó phát hiện hơn: chúng không chiếm bất kỳ không gian hiển thị nào, vì vậy không có dấu hiệu thị giác nào về sự hiện diện của chúng cho đến khi việc so sánh hoặc tra cứu cơ sở dữ liệu thất bại bất ngờ.
Công cụ này tiết lộ chính xác nơi mỗi ký tự ẩn đang ẩn để bạn có thể làm sạch dữ liệu trước khi so sánh.
Ký tự ẩn đến từ đâu?
Các nguồn phổ biến nhất:
- Trang web - HTML thường sử dụng NBSP (thực thể
) cho bố cục; bất kỳ việc sao chép-dán từ trang web nào đều có thể mang chúng theo - PDF - khoảng cách và kết thúc dòng thường không nhất quán khi trích xuất văn bản
- Bảng tính - Excel và Google Sheets đôi khi chèn ZWS vào các ô được định dạng
- Xuất cơ sở dữ liệu - một số cơ sở dữ liệu lưu giữ NBSP trong các trường văn bản từ ứng dụng nguồn của chúng
- Bàn phím di động - một số chèn NBSP thay vì dấu cách thông thường sau dấu câu
- Bộ xử lý văn bản - Microsoft Word và các ứng dụng tương tự sử dụng khoảng trắng không ngắt trong văn bản được định dạng
Làm thế nào để xóa ký tự ẩn khỏi danh sách của tôi?
- Dán văn bản của bạn vào hộp nhập. Bảng có chú thích hiển thị mỗi ký tự ẩn dưới dạng huy hiệu có màu (ví dụ: [NBSP], [ZWS]) để bạn có thể thấy chính xác nơi chúng xuất hiện.
- Sao chép từ bảng Đã làm sạch bên dưới, hiển thị cùng văn bản với tất cả các ký tự ẩn đã được xóa.
Khoảng trắng không ngắt (NBSP) là gì?
Khoảng trắng không ngắt (U+00A0) trông giống hệt dấu cách thông thường nhưng có mã ký tự khác (160 so với 32). Nó được thiết kế ban đầu để giữ các từ liền kề trên cùng một dòng - ví dụ: để "100 km" không bị tách ra ở chỗ xuống dòng.
Đến từ đâu: Trình soạn thảo HTML (thực thể
Tại sao gây ra sự cố: Bất kỳ phép so sánh chuỗi chính xác nào cũng coi NBSP là khác với dấu cách thông thường, gây ra sự không khớp bất ngờ trong so sánh danh sách, tra cứu cơ sở dữ liệu và nhập - ngay cả khi văn bản trông giống hệt nhau trên màn hình.
Đến từ đâu: Trình soạn thảo HTML (thực thể
), bộ xử lý văn bản như Microsoft Word và một số bàn phím di động chèn nó sau dấu câu.Tại sao gây ra sự cố: Bất kỳ phép so sánh chuỗi chính xác nào cũng coi NBSP là khác với dấu cách thông thường, gây ra sự không khớp bất ngờ trong so sánh danh sách, tra cứu cơ sở dữ liệu và nhập - ngay cả khi văn bản trông giống hệt nhau trên màn hình.
Khoảng trắng có độ rộng bằng không (ZWS) là gì?
Khoảng trắng có độ rộng bằng không (U+200B) không chiếm bất kỳ không gian hiển thị nào - hoàn toàn vô hình với mắt thường. Nó được thiết kế ban đầu để đánh dấu các điểm ngắt dòng tùy chọn trong các chữ viết không sử dụng khoảng trắng giữa các từ (như tiếng Thái hoặc văn bản CJK).
Đến từ đâu: Văn bản được thu thập từ các trang web, nội dung từ một số nền tảng CMS (WordPress đôi khi chèn chúng) và tài liệu được chuyển đổi từ các định dạng văn bản phong phú.
Tại sao gây ra sự cố: Vì nó vô hình, không có cách nào để biết nó có mặt cho đến khi việc so sánh, tra cứu cơ sở dữ liệu hoặc nhập thất bại bất ngờ. Đây là nguyên nhân phổ biến nhất của các dòng "giống nhau" từ chối khớp.
Đến từ đâu: Văn bản được thu thập từ các trang web, nội dung từ một số nền tảng CMS (WordPress đôi khi chèn chúng) và tài liệu được chuyển đổi từ các định dạng văn bản phong phú.
Tại sao gây ra sự cố: Vì nó vô hình, không có cách nào để biết nó có mặt cho đến khi việc so sánh, tra cứu cơ sở dữ liệu hoặc nhập thất bại bất ngờ. Đây là nguyên nhân phổ biến nhất của các dòng "giống nhau" từ chối khớp.
Tôi có thể dùng cái này trước khi so sánh danh sách không?
Có - làm sạch ký tự ẩn trước là một trong những bước chuẩn bị tốt nhất trước khi sử dụng công cụ So sánh hai danh sách hoặc So sánh nhiều danh sách.
Sao chép đầu ra đã được làm sạch từ công cụ này và dán vào công cụ so sánh. Cả hai công cụ cũng có tùy chọn "Bỏ qua khoảng trắng đầu/cuối" bắt NBSP ở ranh giới dòng - nhưng Bộ phát hiện ký tự ẩn toàn diện hơn: nó tìm và xóa tất cả các ký tự ẩn bất kể chúng xuất hiện ở đâu trong một dòng.
Sao chép đầu ra đã được làm sạch từ công cụ này và dán vào công cụ so sánh. Cả hai công cụ cũng có tùy chọn "Bỏ qua khoảng trắng đầu/cuối" bắt NBSP ở ranh giới dòng - nhưng Bộ phát hiện ký tự ẩn toàn diện hơn: nó tìm và xóa tất cả các ký tự ẩn bất kể chúng xuất hiện ở đâu trong một dòng.