7. 字符串 (Strings)
strings 的表示方式类似于 C family of programming languages 中使用的约定. string 以 quotation marks 开始和结束. 所有 Unicode characters 都可以放在 quotation marks 内, 但以下 MUST 被转义的 characters 除外: quotation mark, reverse solidus, 以及 control characters (U+0000 through U+001F).
任何 character 都可以被转义. 如果 character 位于 Basic Multilingual Plane (U+0000 through U+FFFF), 则它可以表示为六字符序列: 一个 reverse solidus, 后跟小写字母 u, 再后跟四个编码该 character code point 的 hexadecimal digits. hexadecimal letters A through F 可以是 uppercase 或 lowercase. 因此, 例如, 只包含单个 reverse solidus character 的 string 可以表示为 "\u005C".
另外, 一些常用 characters 有双字符序列的 escape representations. 因此, 例如, 只包含单个 reverse solidus character 的 string 可以更紧凑地表示为 "\\".
要转义不在 Basic Multilingual Plane 中的 extended character, 该 character 表示为 12-character sequence, 编码 UTF-16 surrogate pair. 因此, 例如, 只包含 G clef character (U+1D11E) 的 string 可以表示为 "\uD834\uDD1E".
string = quotation-mark *char quotation-mark
char = unescaped /
escape (
%x22 / ; " quotation mark U+0022
%x5C / ; \ reverse solidus U+005C
%x2F / ; / solidus U+002F
%x62 / ; b backspace U+0008
%x66 / ; f form feed U+000C
%x6E / ; n line feed U+000A
%x72 / ; r carriage return U+000D
%x74 / ; t tab U+0009
%x75 4HEXDIG ) ; uXXXX U+XXXX
escape = %x5C ; \
quotation-mark = %x22 ; "
unescaped = %x20-21 / %x23-5B / %x5D-10FFFF