Tùy thuộc vào bạn để xác định các quy tắc cho ứng dụng của bạn.
Chẳng hạn, bạn có thể định nghĩa rằng:
Khoảng trắng trước hoặc sau dấu bằng được bỏ qua,
Khoảng trắng bên trong khóa bị cấm,
Khoảng trắng bên trong giá trị chỉ có thể được sử dụng nếu giá trị được đặt trong dấu ngoặc kép, vì vậy:
say-hello = Hello, World!
bị cấm, trong khi:
say-hello = "Hello, World!"
được cho phép, điều này cũng cho phép có các tiền tố khoảng trắng:
say-hello = " Indentation is sweet."
Xác định một định dạng có thể là một nhiệm vụ phức tạp. Ví dụ:
Làm thế nào để bạn thoát dấu ngoặc kép?
Làm thế nào để bạn thoát khỏi nhân vật thoát bạn sử dụng để thoát dấu ngoặc kép?
Làm thế nào để bạn xử lý các giá trị trống?
Độ dài tối đa của một phím là gì? Giá trị thì sao?
Làm thế nào để bạn xử lý các giá trị đa dòng?
Còn các ký tự Unicode khoảng trắng ngoài khoảng trắng (chẳng hạn như ký tự khoảng trắng không phá vỡ) thì sao?
Còn các ký tự Unicode thường không được hiển thị trên màn hình thì sao? Chẳng hạn, làm thế nào để bạn đối phó với các loại Cf hoặc Zl Unicode?
Các ký tự được phép trong khóa là gì? Ví dụ: là:
'
một khóa hợp lệ?
Dòng sau có nên hoạt động không? ¹
say-hello ꘌ "Hello, World!"
Gợi ý: dấu bằng không phải là dấu bằng, mà là ký tự 0xa60c (bộ kéo dài âm tiết Vai). Mặc dù ít người sẽ sử dụng biểu tượng này thay vì bình đẳng, nhưng trường hợp thường xuyên hơn là sao chép-dán từ Microsoft Word (xem kỹ các dấu ngoặc kép):
say-hello = “Hello, World!”
Vân vân.
Đây là lý do tại sao, trừ khi bạn hoàn toàn chắc chắn rằng bạn có thể xác định định dạng và mô tả chính xác và dài dòng, hãy sử dụng định dạng đã tồn tại .
JSON hoặc XML là các định dạng thường được sử dụng mà bạn có thể sử dụng trong gần như mọi ngôn ngữ lập trình. Bạn thậm chí có thể trừu tượng hóa định dạng cơ bản bằng cách sử dụng cơ sở dữ liệu. Redis , ví dụ, là một giải pháp phổ biến cho cửa hàng khóa-giá trị.
Người dùng Chrome sử dụng Windows có thể sẽ thấy một dấu hỏi trong hình vuông. Với các trình duyệt khác hoặc với Chrome trên Linux, ký tự xuất hiện như một dấu bằng và có thể dễ dàng gây hiểu lầm: sự khác biệt duy nhất về mặt hình ảnh là có một sự khác biệt nhỏ trong khoảng cách giữa các thanh ngang.