Object labels are similar to Windows file names, except they are
case-sensitive. The maximum length of a label string is 512
characters, including the terminating null character. Leading and
trailing whitespace (spaces, tabs, linebreaks, etc.) are ignored in
label names.
Illegal characters include ASCII and Unicode control characters 1
through 31, single quotes (39), double quotes (34), less than symbol
(60), greater than symbol (62), pipe (124), asterisk (42) and question
mark (63). A null character (0) specifies the end of the label and any
subsequent characters are ignored. It is not possible to embed null
characters in the label name.
Label names may contain forward slash (47) characters and backslash
(92) characters, however it is important to note that objects are not
stored in a hierarchical structure. An application can create its own
folder-like structure to the labels it creates, but this structure is
not imposed or enforced by the library.
If the application is built to use Unicode, labels can
contain Unicode characters which are internally encoded as UTF-8. This
is important to consider if you have an project built using a multi-byte
(ANSI) character set and it needs to access an object that was created
using Unicode characters. In that case, the ANSI application must be
prepared to handle UTF-8 encoded names and display them appropriately.