JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 7648
  • Score
    100M100P100Q202250F
  • License MIT

A robust iso-8859-6 encoder/decoder written in JavaScript.

Package Exports

  • iso-8859-6

Readme

iso-8859-6 Build status iso-8859-6 on npm

iso-8859-6 is a robust JavaScript implementation of the iso-8859-6 character encoding as defined by the Encoding Standard.

This encoding is known under the following names: arabic, asmo-708, csiso88596e, csiso88596i, csisolatinarabic, ecma-114, iso-8859-6, iso-8859-6-e, iso-8859-6-i, iso-ir-127, iso8859-6, iso88596, iso_8859-6, and iso_8859-6:1987.

Installation

Via npm:

npm install iso-8859-6

In a browser or in Node.js:

import {encode, decode, labels} from 'iso-8859-6';
// or…
import * as iso88596 from 'iso-8859-6';

API

iso88596.labels

An array of strings, each representing a label for this encoding.

iso88596.encode(input, options)

This function takes a plain text string (the input parameter) and encodes it according to iso-8859-6. The return value is a ‘byte string’, i.e. a string of which each item represents an octet as per iso-8859-6.

const encodedData = iso88596.encode(text);

The optional options object and its mode property can be used to set the error mode. For encoding, the error mode can be 'fatal' (the default) or 'html'.

const encodedData = iso88596.encode(text, {
  mode: 'html'
});
// If `text` contains a symbol that cannot be represented in iso-8859-6,
// instead of throwing an error, it will return an HTML entity for the symbol.

iso88596.decode(input, options)

This function takes a byte string (the input parameter) and decodes it according to iso-8859-6.

const text = iso88596.decode(encodedData);

The optional options object and its mode property can be used to set the error mode. For decoding, the error mode can be 'replacement' (the default) or 'fatal'.

const text = iso88596.decode(encodedData, {
  mode: 'fatal'
});
// If `encodedData` contains an invalid byte for the iso-8859-6 encoding,
// instead of replacing it with U+FFFD in the output, an error is thrown.

For decoding a buffer (e.g. from fs.readFile) use buffer.toString('binary') to get the byte string which decode takes.

Notes

Similar modules for other single-byte legacy encodings are available.

Author

twitter/mathias
Mathias Bynens

License

iso-8859-6 is available under the MIT license.