windows-1256 is a robust JavaScript implementation of the windows-1256 character encoding as defined by the Encoding Standard.
This encoding is known under the following names: cp1256, windows-1256, and x-cp1256.
Installation
Via npm:
npm install windows-1256
In a browser:
In Node.js, io.js, Narwhal, and RingoJS:
var windows1256 = ;
In Rhino:
;
Using an AMD loader like RequireJS:
;
API
windows1256.version
A string representing the semantic version number.
windows1256.labels
An array of strings, each representing a label for this encoding.
windows1256.encode(input, options)
This function takes a plain text string (the input
parameter) and encodes it according to windows-1256. The return value is a ‘byte string’, i.e. a string of which each item represents an octet as per windows-1256.
const encodedData = windows1256;
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 = windows1256;// If `text` contains a symbol that cannot be represented in windows-1256,// instead of throwing an error, it will return an HTML entity for the symbol.
windows1256.decode(input, options)
This function takes a byte string (the input
parameter) and decodes it according to windows-1256.
const text = windows1256;
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 = windows1256;// If `encodedData` contains an invalid byte for the windows-1256 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.
Support
windows-1256 is designed to work in at least Node.js v0.10.0, io.js v1.0.0, Narwhal 0.3.2, RingoJS 0.8-0.11, PhantomJS 1.9.0, Rhino 1.7RC4, as well as old and modern versions of Chrome, Firefox, Safari, Opera, Edge, and Internet Explorer.
Notes
Similar modules for other single-byte legacy encodings are available.
Author
Mathias Bynens |
License
windows-1256 is available under the MIT license.