Introduction to jsesc
jsesc is a powerful JavaScript library that allows you to escape any string, including those containing non-ASCII characters, in JavaScript. It is particularly useful for converting binary data for use in JSON, URLs, CSS, and other web development contexts.
Key Features and APIs of jsesc
1. Basic String Escaping
const jsesc = require('jsesc'); const escapedString = jsesc('Ich ♥ Bücher'); console.log(escapedString); // Output: Ich \u2665 B\u00FCcher
2. Using json Attribute
To convert a string to a JSON-safe string, set the json
attribute to true
.
const jsonString = jsesc('Ich ♥ Bücher', { json: true }); console.log(jsonString); // Output: "Ich \u2665 B\u00FCcher"
3. Wrapping Strings with Quotes
To ensure the output is wrapped in double quotes, set wrap
to true
.
const wrappedString = jsesc('Ich ♥ Bücher', { wrap: true }); console.log(wrappedString); // Output: "Ich \u2665 B\u00FCcher"
4. Escaping Non-ASCII Characters Only
You can escape only non-ASCII characters by using the es6
option.
const es6String = jsesc('Ich ♥ Bücher', { es6: true }); console.log(es6String); // Output: Ich \u2665 Bücher
5. Minimal Escape
The minimal
option ensures that only the necessary characters are escaped.
const minimalString = jsesc('Ich ♥ Bücher', { minimal: true }); console.log(minimalString); // Output: Ich ♥ B\u00FCcher
6. Escape Within HTML
const htmlString = jsesc('Ich ♥ Bücher', { isAttributeValue: true }); console.log(htmlString); // Output: Ich ♥ Bücher
App Example Using jsesc
Below is an example of a simple Node.js application that demonstrates various usage scenarios of jsesc:
const jsesc = require('jsesc'); const originalString = 'Ich ♥ Bücher'; const basicEscaped = jsesc(originalString); const jsonEscaped = jsesc(originalString, { json: true }); const wrappedEscaped = jsesc(originalString, { wrap: true }); const es6Escaped = jsesc(originalString, { es6: true }); const minimalEscaped = jsesc(originalString, { minimal: true }); const htmlEscaped = jsesc(originalString, { isAttributeValue: true }); console.log('Basic Escaped:', basicEscaped); console.log('JSON Escaped:', jsonEscaped); console.log('Wrapped Escaped:', wrappedEscaped); console.log('ES6 Escaped:', es6Escaped); console.log('Minimal Escaped:', minimalEscaped); console.log('HTML Escaped:', htmlEscaped);
By using jsesc, developers can ensure that strings are properly escaped for various environments, enhancing code security and compatibility.
Hash: 8e6a5cb0a3aa7028406cc8dcf46ffd2c30d5a24ec55b20b8d4e837087574690d