Special characters refer to the set of invisible characters (tab, line-end, carriage return, Unicode) that can only be represented in a programming language like C or Java by a special sequence of characters starting with the backslash.
In a character literal, the special characters (for example, %$&*#(@)#!~[]{}, etc.) should be specified between 2 single quotes. The following expression example contains most of the special characters on a keyboard:
concat('"Special" characters not needing escaping are ' , '~`!@#$^&*()_+-=[]{}:";,./<>?|');
This produces the result:
"Special" characters not needing escaping are ~`!@#$^&*()_+-=[]{}:";,./<>?|
Note that the literal in the prior example contains all of the special characters (for example, arithmetic symbols) that are used in the grammar (except of course the single quote), but when used within a character literal they can be used as data and cause no parsing difficulties.