All Projects → mathiasbynens → Windows 1252

mathiasbynens / Windows 1252

Licence: mit
A robust JavaScript implementation of the windows-1252 character encoding as defined by the Encoding Standard.

Programming Languages

javascript
184084 projects - #8 most used programming language

windows-1252 Build status Code coverage status Dependency status

windows-1252 is a robust JavaScript implementation of the windows-1252 character encoding as defined by the Encoding Standard.

This encoding is known under the following names: ansi_x3.4-1968, ascii, cp1252, cp819, csisolatin1, ibm819, iso-8859-1, iso-ir-100, iso8859-1, iso88591, iso_8859-1, iso_8859-1:1987, l1, latin1, us-ascii, windows-1252, and x-cp1252.

Installation

Via npm:

npm install windows-1252

In a browser:

<script src="windows-1252.js"></script>

In Node.js, io.js, Narwhal, and RingoJS:

var windows1252 = require('windows-1252');

In Rhino:

load('windows1252.js');

Using an AMD loader like RequireJS:

require(
  {
    'paths': {
      'windows-1252': 'path/to/windows-1252'
    }
  },
  ['windows-1252'],
  function(windows1252) {
    console.log(windows1252);
  }
);

API

windows1252.version

A string representing the semantic version number.

windows1252.labels

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

windows1252.encode(input, options)

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

const encodedData = windows1252.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 = windows1252.encode(text, {
  'mode': 'html'
});
// If `text` contains a symbol that cannot be represented in windows-1252,
// instead of throwing an error, it will return an HTML entity for the symbol.

windows1252.decode(input, options)

This function takes a byte string (the input parameter) and decodes it according to windows-1252.

const text = windows1252.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 = windows1252.decode(encodedData, {
  'mode': 'fatal'
});
// If `encodedData` contains an invalid byte for the windows-1252 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-1252 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

twitter/mathias
Mathias Bynens

License

windows-1252 is available under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].