RFNVS (n-byte character string)

String containing name/value pairs.

This is a variable-length character string containing name/value pairs in the form:

name1 value1 name2 value2 name3 value3 ...

Each name or value must be separated from the adjacent name or value by one or more blank characters; these blanks are not significant. A name or value can contain significant blanks by prefixing and suffixing the name or value with the double-quote character; all characters between the open double-quote and the matching close double-quote are treated as significant. In the following example, the name is

FAMOUS_WORDS, and the value is

Hello World:

FAMOUS_WORDS "Hello World"

A name or value can contain any characters other than the null character (which acts as a delimiter for RFNVS - see below). However, to assist interoperability an application may prefer to restrict names to the following characters:

If a name or value contains one or more double-quote characters, the name or value must be enclosed in double quotes, and each double quote within the string must be doubled:

Famous_Words "The program displayed ""Hello World"""

Names and values are case sensitive, that is, lowercase letters are not considered to be the same as uppercase letters. For example,

FAMOUS_WORDS and Famous_Words are two different names.

The length in bytes of RFNVS is equal to RFLEN minus RFLENV. To avoid problems with data conversion of the user data in some environments, it is recommended that this length should be a multiple of four. RFNVS must be padded with blanks to this length, or terminated earlier by placing a null character following the last significant character in the string. The null character and the bytes following it, up to the specified length of RFNVS, are ignored.

Note:
Because the length of this field is not fixed, the field is omitted from the declarations of the structure that are provided for the supported programming languages.