Khoảng trắng độ rộng không (Zero-Width Space)

Ký tự vô hình có độ rộng hiển thị bằng không (U+200B). Được sử dụng như gợi ý ngắt dòng và kiểm soát xử lý văn bản.

Khoảng trắng độ rộng không (U+200B) là ký tự vô hình có độ rộng hiển thị bằng không. Không có gì hiển thị trên màn hình, nhưng nó tồn tại trong dữ liệu văn bản và được tính là một ký tự. Nó chủ yếu hoạt động như gợi ý cơ hội ngắt dòng, cho phép trình duyệt xuống dòng tại vị trí của nó. Trong "Danh mục chung" của Unicode, nó được phân loại là ký tự định dạng (Cf).

Khoảng trắng độ rộng không trở nên quan trọng trong nhiều tình huống thực tế. Trong các ngôn ngữ như tiếng Thái và tiếng Khmer không sử dụng khoảng trắng giữa các từ, khoảng trắng độ rộng không đánh dấu ranh giới từ và cho phép ngắt dòng đúng. Trong phát triển web, chèn khoảng trắng độ rộng không trong chuỗi dài không có khoảng trắng (như URL hoặc giá trị hash) cho phép xuống dòng mà không phá vỡ bố cục. Trong HTML, nó có thể được chèn dưới dạng ​ hoặc ​.

Các ký tự vô hình liên quan bao gồm Zero-Width Non-Joiner (U+200C, ZWNJ), ngăn nối ký tự và được sử dụng trong chữ viết tiếng Ba Tư và tiếng Hindi, và Zero-Width Joiner (U+200D, ZWJ), thúc đẩy nối ký tự và được sử dụng trong chuỗi ZWJ emoji (như emoji gia đình). Tất cả các ký tự vô hình này có độ rộng hiển thị bằng không nhưng mang ý nghĩa khác nhau trong xử lý văn bản.

Từ góc độ bảo mật, khoảng trắng độ rộng không có thể bị khai thác cho fingerprinting (nhúng định danh vô hình trong văn bản). Kỹ thuật này nhúng các mẫu ký tự độ rộng không trong tài liệu mật để xác định nguồn rò rỉ. Các cuộc tấn công phishing chèn ký tự độ rộng không trong tên miền để bắt chước tên miền hợp pháp cũng đã được báo cáo. Sanitization đầu vào nên xem xét loại bỏ ký tự độ rộng không.

Một vấn đề phổ biến là bao gồm khoảng trắng độ rộng không không chủ ý qua sao chép-dán. Khi văn bản sao chép từ trang web chứa khoảng trắng độ rộng không, so sánh chuỗi thất bại mặc dù hiển thị giống nhau, tìm kiếm bỏ sót kết quả, và mật khẩu không hoạt động. Vì gỡ lỗi khó khăn, thêm bước loại bỏ ký tự độ rộng không như tiền xử lý văn bản được khuyến nghị.

Đối với đếm ký tự, khoảng trắng độ rộng không được tính là một ký tự mặc dù vô hình, gây ra sự chênh lệch giữa số ký tự hiển thị và thực tế. Ví dụ, "Hello" với 3 khoảng trắng độ rộng không chèn giữa các ký tự hiển thị là 5 ký tự nhưng thực tế là 8. Công cụ đếm ký tự phát hiện ký tự vô hình và cảnh báo người dùng giúp phát hiện sớm các vấn đề như vậy.

Chia sẻ bài viết này