Skip to content

mhagmajer/single-byte

Repository files navigation

single-byte

Transforms for single-byte encodings.

Implementation has no dependencies and is based on precomputed indexes for various encodings based on specification provided by the Web Hypertext Application Technology Working Group (WHATWG).

Installation

npm install --save single-byte

Usage example

Any environment

const { encode, decode } = require('single-byte');

const buffer = encode('iso-8859-2', 'zażółć gęślą jaźń');
console.log(decode('iso-8859-2', buffer));

Environment supporting Node.js stream API

const fs = require('fs');
const { Encoder } = require('single-byte/stream');

fs.createReadStream('file-utf8.txt')
  .pipe(new Encoder('iso-8859-2'))
  .pipe(fs.createWriteStream('file-iso-8859-2.txt'));

API

Table of Contents

UTILITIES

Basic functions.

encode

Parameters

Returns Buffer

decode

Parameters

Returns string

STREAMS

Note: stream must be present in the global namespace.

Encoder

Extends stream.Transform

Parameters

setSingleByteEncoding

Parameters

Decoder

Extends stream.Transform

Parameters

setSingleByteEncoding

Parameters

SUPPORTED ENCODINGS

Encoding Labels
IBM866 866, cp866, csibm866, ibm866
ISO-8859-2 csisolatin2, iso-8859-2, iso-ir-101, iso8859-2,
iso88592, iso_8859-2, iso_8859-2:1987, l2,
latin2
ISO-8859-3 csisolatin3, iso-8859-3, iso-ir-109, iso8859-3,
iso88593, iso_8859-3, iso_8859-3:1988, l3,
latin3
ISO-8859-4 csisolatin4, iso-8859-4, iso-ir-110, iso8859-4,
iso88594, iso_8859-4, iso_8859-4:1988, l4,
latin4
ISO-8859-5 csisolatincyrillic, cyrillic, iso-8859-5, iso-ir-144,
iso8859-5, iso88595, iso_8859-5, iso_8859-5:1988
ISO-8859-6 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, iso_8859-6:1987
ISO-8859-7 csisolatingreek, ecma-118, elot_928, greek,
greek8, iso-8859-7, iso-ir-126, iso8859-7,
iso88597, iso_8859-7, iso_8859-7:1987, sun_eu_greek
ISO-8859-8 csiso88598e, csisolatinhebrew, hebrew, iso-8859-8,
iso-8859-8-e, iso-ir-138, iso8859-8, iso88598,
iso_8859-8, iso_8859-8:1988, visual
ISO-8859-8-I csiso88598i, iso-8859-8-i, logical
ISO-8859-10 csisolatin6, iso-8859-10, iso-ir-157, iso8859-10,
iso885910, l6, latin6
ISO-8859-13 iso-8859-13, iso8859-13, iso885913
ISO-8859-14 iso-8859-14, iso8859-14, iso885914
ISO-8859-15 csisolatin9, iso-8859-15, iso8859-15, iso885915,
iso_8859-15, l9
ISO-8859-16 iso-8859-16
KOI8-R cskoi8r, koi, koi8, koi8-r,
koi8_r
KOI8-U koi8-ru, koi8-u
macintosh csmacintosh, mac, macintosh, x-mac-roman
windows-874 dos-874, iso-8859-11, iso8859-11, iso885911,
tis-620, windows-874
windows-1250 cp1250, windows-1250, x-cp1250
windows-1251 cp1251, windows-1251, x-cp1251
windows-1252 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,
x-cp1252
windows-1253 cp1253, windows-1253, x-cp1253
windows-1254 cp1254, csisolatin5, iso-8859-9, iso-ir-148,
iso8859-9, iso88599, iso_8859-9, iso_8859-9:1989,
l5, latin5, windows-1254, x-cp1254
windows-1255 cp1255, windows-1255, x-cp1255
windows-1256 cp1256, windows-1256, x-cp1256
windows-1257 cp1257, windows-1257, x-cp1257
windows-1258 cp1258, windows-1258, x-cp1258
x-mac-cyrillic x-mac-cyrillic, x-mac-ukrainian
mazovia cp790, mazovia

About

Transforms for single-byte encodings

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published