Khoảng trắng (Whitespace)
Các ký tự vô hình như khoảng trắng, tab và xuống dòng. Chúng đóng vai trò quan trọng trong xử lý văn bản và bố cục.
Khoảng trắng chỉ các ký tự vô hình không hiển thị trên màn hình. Bao gồm dấu cách nửa độ rộng (U+0020), tab (U+0009), xuống dòng (LF: U+000A, CR: U+000D), dấu cách toàn độ rộng (U+3000) và các ký tự khác. Khoảng trắng đóng vai trò quan trọng trong định dạng văn bản, thụt lề mã, phân tách dữ liệu và hầu như tất cả xử lý văn bản.
Thuộc tính CSS white-space kiểm soát cách khoảng trắng được hiển thị trong HTML. normal gộp khoảng trắng liên tiếp thành một và cho phép tự động xuống dòng. pre giữ nguyên khoảng trắng mã nguồn. nowrap ngăn ngắt dòng. pre-wrap giữ nguyên khoảng trắng đồng thời cho phép tự động xuống dòng, phù hợp cho hiển thị khối mã.
Xử lý khoảng trắng khác nhau đáng kể giữa các ngôn ngữ lập trình. Python sử dụng khoảng trắng (dấu cách hoặc tab) cho thụt lề, và thụt lề không nhất quán gây ra lỗi cú pháp. YAML cũng sử dụng cú pháp dựa trên thụt lề và cấm ký tự tab. Trong JSON, khoảng trắng chỉ phục vụ cho khả năng đọc, và minification (xóa khoảng trắng) có thể giảm đáng kể kích thước tệp. Regex \s khớp khoảng trắng, nhưng phạm vi ký tự chính xác thay đổi theo ngôn ngữ và engine.
Một cạm bẫy phổ biến là trộn lẫn các ký tự khoảng trắng không thể phân biệt bằng mắt. Dấu cách nửa độ rộng và toàn độ rộng, dấu cách thường và dấu cách không ngắt trông giống nhau nhưng được chương trình xử lý như ký tự khác nhau. Khoảng trắng không chủ ý từ sao chép-dán gây thất bại so sánh chuỗi hoặc lỗi phân tích CSV là vấn đề thực tế thường gặp.
Đối với đếm ký tự, có bao gồm khoảng trắng hay không là điểm quyết định quan trọng. Đếm ký tự tiêu chuẩn bao gồm khoảng trắng, nhưng "số ký tự không tính khoảng trắng" thường được yêu cầu. Tính phí bản thảo thường không tính khoảng trắng, trong khi bài đăng mạng xã hội tính khoảng trắng vào giới hạn. Công cụ đếm ký tự nên hiển thị cả số đếm "có khoảng trắng" và "không có khoảng trắng" để phục vụ nhu cầu đa dạng của người dùng.