A SWI-Prolog string represents a byte-string on the global stack. 
It's lifetime is the same as for compound terms and other data living on 
the global stack. Strings are not only a compound representation of text 
that is garbage-collected, but as they can contain 0-bytes, they can be 
used to contain arbitrary C-data structures.
- PlString :: PlString(const wchar_t *text)
 
- PlString :: PlString(const char *text)
 - Create a SWI-Prolog string object from a 0-terminated C-string. The
text is copied.
 
- PlString :: PlString(const wchar_t *text, 
size_t len)
 
- PlString :: PlString(const char *text, size_t 
len)
 - Create a SWI-Prolog string object from a C-string with specified length. 
The text may contain 0-characters and is copied.