Package Exports
- iso-8859-6
Readme
iso-8859-6

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 an environment-agnostic Uint16Array
of which each element 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. The two available error modes are 'fatal'
(the default) or 'replacement'
. (Note: This differs from the spec, which recognizes 'fatal
' and html
modes for encoders. The reason behind this difference is that the spec algorithm is aimed at producing HTML, whereas this library encodes into an environment-agnostic Uint16Array
of bytes.)
const encodedData = iso88596.encode(text, {
mode: 'replacement'
});
// If `text` contains a symbol that cannot be represented in iso-8859-6,
// instead of throwing an error, it becomes 0xFFFD.
iso88596.decode(input, options)
This function decodes input
according to iso-8859-6. The input
parameter can either be a Uint16Array
of which each element represents an octet as per iso-8859-6, or a ‘byte string’ (i.e. a string of which each item represents an octet as per 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.
Notes
Similar modules for other single-byte legacy encodings are available.
Author
Mathias Bynens |
License
iso-8859-6 is available under the MIT license.