7. Strings (Zeichenketten)
Die Darstellung von Strings ähnelt den Konventionen der C-Familie von Programmiersprachen. Ein String beginnt und endet mit Anführungszeichen. Alle Unicode-Zeichen können innerhalb der Anführungszeichen platziert werden, mit Ausnahme der Zeichen, die escaped werden müssen: Anführungszeichen, Backslash und Steuerzeichen (U+0000 bis U+001F).
Jedes Zeichen kann escaped werden. Wenn das Zeichen in der Basic Multilingual Plane (BMP) (U+0000 bis U+FFFF) liegt, kann es als Sechs-Zeichen-Sequenz dargestellt werden: ein Backslash, gefolgt vom Kleinbuchstaben u, gefolgt von vier Hexadezimalziffern, die den Codepunkt des Zeichens kodieren. Die Hexadezimalbuchstaben A bis F können groß oder klein geschrieben werden. So kann beispielsweise ein String, der nur ein einzelnes Backslash-Zeichen enthält, als "\u005C" dargestellt werden.
Alternativ gibt es Zwei-Zeichen-Sequenz-Escape-Darstellungen für einige häufig verwendete Zeichen. So kann beispielsweise ein String, der nur ein einzelnes Backslash-Zeichen enthält, kompakter als "\\" dargestellt werden.
Um ein erweitertes Zeichen zu escapen, das nicht in der Basic Multilingual Plane liegt, wird das Zeichen als 12-Zeichen-Sequenz dargestellt, die ein UTF-16-Surrogat-Paar kodiert. So kann beispielsweise ein String, der nur das G-Schlüssel-Zeichen (U+1D11E) enthält, als "\uD834\uDD1E" dargestellt werden.
string = quotation-mark *char quotation-mark
char = unescaped /
escape (
%x22 / ; " Anführungszeichen U+0022
%x5C / ; \ Backslash U+005C
%x2F / ; / Schrägstrich U+002F
%x62 / ; b Backspace U+0008
%x66 / ; f Form Feed U+000C
%x6E / ; n Zeilenvorschub U+000A
%x72 / ; r Wagenrücklauf U+000D
%x74 / ; t Tabulator U+0009
%x75 4HEXDIG ) ; uXXXX U+XXXX
escape = %x5C ; \
quotation-mark = %x22 ; "
unescaped = %x20-21 / %x23-5B / %x5D-10FFFF