caption: stringify created: 20161017153038029 from-version: 5.1.14 modified: 20230919130847809 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 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 | |Carriage return (0x0d) |`\r` |Always | |Line feed (0x0a) |`\n` |Always | |Backspace (0x08) |`\b` |Always | |Form field (0x0c) |`\f` |Always | |Tab (0x09) |`\t` |Always | |Characters from 0x00 to 0x1f |`\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. <<.note """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.""">> <<.olink jsonstringify>> is considered deprecated, as it duplicates the functionality of <<.op stringify>>. <<.operator-examples "stringify">>