MAXScript Language Reference > Names, Literal Constants, and Expressions > Literal Constants >

# String Literals

String literals in MAXScript are one or more characters enclosed in double quotes:

    "3ds Max"
    "August 4th, 1997"

String literals can contain any character except another plain double quote. You can include a double quote in a string literal, as well as some useful control characters, by using a "\" (backslash) escape character sequence.

The valid escape sequences are:

ESCAPE SEQUENCE | MEANING
\" | a double quote character
\n | a newline character
\r | a carriage return character
\t | a TAB character
\* | an asterisk character
\? | a question mark character
\\ | a single "\" character
\% | a percent character
\x{d} | a hexadecimal character

EXAMPLE:
    print "foo should be quoted like this: \"foo\" and a new line: \n"
would output:
    "foo should be quoted like this: "foo" and a new line:
    "

A "\" character that does not preface one of the specified characters is left as a single backslash.

You can break a string literal into several lines and the line breaks will stay in the string.

FOR EXAMPLE:
    "Twas brillig and the slithy tobes
    did gyre and gimbol in the wabe
    or something like that..."

Non-Printing Characters in Strings

You can specify non-printing characters in string literals using the \x hexadecimal escape sequence convention from C/C++. The form is:

    \x{<hex_digit>}+ -- <hex_digit> is a hexadecimal digit (0-9,a-f)

EXAMPLE:
    str = "Copyright \xa9 1997, FrabWorks, Inc"
would insert a copyright sign ©. Hexadecimal a9 is the code for that symbol.

Running the following script displays in Listener the characters associated with each hexadecimal code:

EXAMPLE:
    char= "0123456789abcdef"
    for i=1 to char.count do
    for j=1 to char.count do
    (
    s=execute("\"\\x"+char[i]+char[j]+"\"")
    format "%% %\n" char[i] char[j] s
    )

File Path Name Strings

File path name strings use the backslash character to separate a parent directory from its sub-directory. The backslash is used as an escape character, therefore file path names specified in a string should use the escape character sequence for a single "\" character, i.e., "\\", or specify the string as verbatim using the @ character introduced in 3ds Max 2008 (see further on this page)

AN EXAMPLE IS:
    scene_path = "g:\\3dsmax25\\scenes" -- specifies file path g:\3dsmax25\scenes

For strings that are used as file names or paths, the "/" character can be used instead of the "\\". MAXScript internally interprets the "/" character as a "\" character when used in a file path name string.

AN EXAMPLE IS:
    scene_path = "g:/3dsmax25/scenes" -- specifies file path g:\3dsmax25\scenes

Verbatim String Literals

Verbatim string literals added to MAXScript in 3ds Max 2008 are prefixed by the '@' character and are NOT expanded even if containing backslash escape character sequences like '\t', '\n' or '\r'.

The syntax is

    @"{<character>}+"

FOR EXAMPLE,
    --the following verbatim string remains unchanged after evaluation:
    thePath = @"g:\temp\newfolder\render"
    "g:\temp\newfolder\render"
    --while the following results in a
    --scrambled string with tabs and new lines:
    thePath = "g:\temp\newfolder\render"
    "g: emp
    ewfolder
    ender"

#### See Also

- String Values