Skip to main content



A UTF-16 encoded Unicode character string of n characters, null terminated (not space-padded). The n may be omitted only when used as a parameter type. The optional locale specifies a valid Unicode locale code, as specified in ISO standards 639 and 3166 (not needed if LOCALE is specified on the RECORD structure containing the field definition).

Type casting VARUNICODE to UNICODE, STRING, or DATA is allowed, while casting to any other type will first implicitly cast to STRING and then cast to the target value type.

The upper size limit for any VARUNICODE value is 4GB.


VARUNICODE16 MyUNIString := U'1234567890ABCDEF';
        // utf-16-encoded string
VARUNICODE4 MyUnicodeString := U'abcd';
        // same as: (UNICODE)'abcd'
VARUNICODE5 MyUnicodeString := U'abcd\353';
        // becomes 'abcdë'
VARUNICODE5 MyUnicodeString := U'abcdë';
        // same as previous example