INTERNED_STRING
Primitive.
objectType:
INTERNED_STRING = 10 ;
Description:
An INTERNED_STRING is similar to a STRING, but two INTERNED_STRINGS
which are read by serializers using the same interning table, and
which consist of the same sequence of characters, will point to the
same InternedStringPrimitiveObject. Like STRING, the INTERNED_STRING
primitive object is used when you need to specify an arbitrary length
sequence of characters. It consists of the objectType Integer (the
byte 0A), followed by an Integer encoding the number of
bytes that the encoding of the string consumes, followed by that many
bytes of data. The bytes of data are the UTF encoding of the UNICODE
characters in the string.
Internal format:
InternedStringPrimitiveObject {
Integer objectType; // == INTERNED_STRING
byte value[length];
}
External format:
SerializedInternedStringPrimitiveObject {
Integer objectType; // == INTERNED_STRING
Integer length;
byte value[length];
}
Examples:
0A 0E 66 65 INTERNED_STRING "ferd is a ferd"
72 64 20 69
73 20 61 20
66 65 72 64
0A 00 INTERNED_STRING ""