diff --git a/BDF.markdown b/BDF.markdown index 9a27722..dad8c3c 100644 --- a/BDF.markdown +++ b/BDF.markdown @@ -4,12 +4,12 @@ Each object consists of a type, length and value. The value may be empty. The fi * **0: Null** - Length is 0, value is empty. * **1: Boolean** - Length is 1, value is 0 or 1. -* **2: Integer** - Length is 0, 1, 2, 4 or 8. Value is an integer with the specified length in bytes. -* **3: Floating point** - Length is 4 or 8. Value is a floating point number with the specified length in bytes. -* **4: String** - Length is 0, 1, 2 or 4. Value is an integer with the specified length in bytes, followed by a string with its length in bytes given by the integer. -* **5: Raw** - Length is 0, 1, 2 or 4. Value is an integer with the specified length in bytes, followed by raw binary data with its length in bytes given by the integer. -* **6: List** - Length is 0. The value consists of zero or more objects of any type followed by an end object. -* **7: Dictionary** - Length is 0. The value consists of zero or more key-value pairs followed by an end object. The keys must be strings and the values may be of any type. +* **2: Integer** - Length is 0, 1, 2, 4 or 8. Value is an integer with the specified length. +* **3: Floating point** - Length is 4 or 8. Value is a floating point number with the specified length. +* **4: String** - Length is 0, 1, 2 or 4. Value is an integer with the specified length, followed by a string with its length given by the integer. +* **5: Raw** - Length is 0, 1, 2 or 4. Value is an integer with the specified length, followed by raw binary data with its length given by the integer. +* **6: List** - Length is 0. The value consists of zero or more objects of any type followed by an end. +* **7: Dictionary** - Length is 0. The value consists of zero or more key-value pairs followed by an end. The keys must be strings and the values may be of any type. * **8: End** - Length is 0, value is empty. Marks the end of a list or dictionary. -All integers in BDF are big-endian two's complement, floating point numbers are IEEE 754, and strings are UTF-8. +All integers in BDF are big-endian two's complement, floating point numbers are IEEE 754, and strings are UTF-8. Integers (including the lengths of strings and raws) must be represented using the minimum number of bytes.