Dấu câu
Tên gọi chung cho các ký hiệu được sử dụng trong văn bản như dấu chấm, dấu phẩy, ngoặc đơn, dấu ngoặc kép, dấu chấm than. Loại, cách dùng và độ rộng ký tự khác nhau tùy theo ngôn ngữ và khu vực.
Dấu câu (punctuation marks) là tập hợp các ký hiệu dùng để làm rõ cấu trúc và ý nghĩa của câu. Bao gồm dấu chấm (.), dấu phẩy (,), dấu chấm than (!), dấu hỏi (?), ngoặc đơn (()), ngoặc kép ("") và nhiều ký hiệu khác. Trong tiếng Việt, dấu câu tuân theo quy tắc chính tả do Bộ Giáo dục và Đào tạo quy định, và việc sử dụng đúng dấu câu ảnh hưởng trực tiếp đến cách đếm ký tự cũng như trình bày văn bản.
Tiếng Việt và tiếng Anh sử dụng hệ thống dấu câu tương tự nhau (dấu chấm, dấu phẩy, dấu chấm phẩy), nhưng khác biệt lớn so với tiếng Nhật hay tiếng Trung. Tiếng Nhật dùng dấu chấm câu toàn chiều rộng (。) và dấu phẩy (、), mỗi ký hiệu chiếm một ô ký tự đầy đủ. Trong khi đó, tiếng Việt dùng dấu câu nửa chiều rộng giống tiếng Anh, luôn có khoảng trắng phía sau. Sự khác biệt này ảnh hưởng đến đếm ký tự: cùng một nội dung nhưng tỷ lệ dấu câu trong tổng số ký tự sẽ khác nhau giữa các phiên bản ngôn ngữ.
Một đặc thù của tiếng Việt là hệ thống dấu thanh (diacritical marks). Các dấu sắc, huyền, hỏi, ngã, nặng không phải là dấu câu nhưng thường bị nhầm lẫn trong xử lý văn bản. Khi đếm ký tự, "ă" được tính là 1 ký tự dù trong mã hóa UTF-8 nó có thể chiếm 2-3 byte. Bảng mã TCVN 5712 (tiêu chuẩn Việt Nam cũ) và Unicode xử lý dấu thanh khác nhau, gây ra sự không nhất quán khi sao chép văn bản giữa các hệ thống cũ và mới.
Quy tắc ngắt dòng liên quan đến dấu câu cũng quan trọng trong trình bày văn bản. Không được để dấu chấm, dấu phẩy, dấu chấm than hay dấu hỏi ở đầu dòng mới. CSS cung cấp thuộc tính word-break và line-break để kiểm soát việc này, nhưng với văn bản tiếng Việt, thuộc tính overflow-wrap: break-word thường cần thiết để xử lý các từ dài có dấu.
Trên mạng xã hội và ứng dụng nhắn tin, việc đếm dấu câu trở thành vấn đề thực tế. Twitter (nay là X) tính mỗi dấu câu là 1 ký tự trong giới hạn 280 ký tự, nên người dùng phải cân nhắc sử dụng dấu câu sao cho hiệu quả. Xu hướng bỏ dấu câu để tiết kiệm ký tự phổ biến trong giới trẻ Việt Nam khi nhắn tin, đặc biệt là bỏ dấu chấm cuối câu.
Trong lập trình, dấu câu mang ý nghĩa cú pháp đặc biệt. Dấu chấm phẩy, ngoặc nhọn, ngoặc vuông, dấu chấm, dấu hai chấm đều là thành phần cú pháp của ngôn ngữ lập trình. Khi nhập liệu bằng bộ gõ tiếng Việt (Telex, VNI), việc vô tình chèn dấu thanh vào giữa mã nguồn là lỗi phổ biến mà lập trình viên Việt Nam thường gặp, đặc biệt khi quên chuyển chế độ gõ.