caption: stringify created: 20161017153038029 from-version: 5.1.14 modified: 20230922121406947 op-input: a [[selection of titles|Title Selection]] op-output: the input with ~JavaScript string encodings applied op-parameter: op-parameter-name: op-purpose: apply ~JavaScript string encoding to a string, see also the similar <<.olink jsonstringify>> op-suffix: <<.from-version "5.1.23">> optionally, the keyword `rawunicode` op-suffix-name: R tags: [[Filter Operators]] [[String Operators]] title: stringify Operator type: text/vnd.tiddlywiki The following substitutions are made: |!Character |!Replacement |!Condition | |`\` |`\\` |Always | |`"` |`\"` |Always | |`'` |`\'` |Always | |Line feed (0x0a) |`\n` |Always | |Carriage return (0x0d) |`\r` |Always | |Characters from 0x00 to 0x1f, except listed above |`\x##` where ## is two hex digits |Always | |Characters from 0x80 to 0xffff|`\u####` where #### is four hex digits |If `rawunicode` suffix is not present (default) | |Characters from 0x80 to 0xffff|<<.from-version "5.1.23">> Unchanged |If `rawunicode` suffix is present | <<.from-version "5.1.23">> If the suffix `rawunicode` is present, Unicode characters above 0x80 (such as รŸ, รค, รฑ or ๐ŸŽ„) will be passed through unchanged. Without the suffix, they will be substituted with `\u` codes, which was the default behavior before 5.1.23. Characters outside the Basic Multilingual Plane, such as ๐ŸŽ„ and other emojis, will be encoded as a UTF-16 surrogate pair, i.e. with two `\u` sequences. <<.note """Mind the differences compared to <<.olink jsonstringify>> in encoding of single quotes and control characters (0x00 to 0x1f). """>> <<.operator-examples "stringify">>