Skip to content

pmq/text-encoding

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

text-encoding

This is a polyfill for the Encoding Living Standard API for the Web, allowing encoding and decoding of textual data to and from Typed Array buffers for binary data in JavaScript

Basic examples and unit tests are included.

Install

There are a few ways you can get the text-encoding library.

Node

text-encoding is on npm. Simply run:

npm install text-encoding

Or add it to your package.json dependencies.

Bower

text-encoding is on bower as well. Install with bower like so:

bower install text-encoding

Or add it to your bower.json dependencies.

HTML Page Usage

  <!-- Required for non-UTF encodings -->
  <script src="encoding-indexes.js"></script>
  <script src="encoding.js"></script>

API Overview

Basic Usage

  var uint8array = TextEncoder(encoding).encode(string);
  var string = TextDecoder(encoding).decode(uint8array);

Streaming Decode

  var string = "", decoder = TextDecoder(encoding), buffer;
  while (buffer = next_chunk()) { 
    string += decoder.decode(buffer, {stream:true});
  }
  string += decoder.decode(); // finish the stream

Encodings

All encodings from the Encoding specification are supported:

utf-8 ibm864 ibm866 iso-8859-2 iso-8859-3 iso-8859-4 iso-8859-5 iso-8859-6 iso-8859-7 iso-8859-8 iso-8859-10 iso-8859-13 iso-8859-14 iso-8859-15 iso-8859-16 koi8-r koi8-u macintosh windows-874 windows-1250 windows-1251 windows-1252 windows-1253 windows-1254 windows-1255 windows-1256 windows-1257 windows-1258 x-mac-cyrillic gbk gb18030 hz-gb-2312 big5 euc-jp iso-2022-jp shift_jis euc-kr iso-2022-kr utf-16 utf-16be

(Some encodings may be supported under other names, e.g. ascii, iso-8859-1, etc. See Encoding for additional labels for each encoding.)

Encodings other than utf-8, utf-16le and utf-16be require an additional encoding-indexes.js file to be included. It is rather large (541kB uncompressed, 186kB gzipped); portions may be deleted if support for some encodings is not required.

About

Polyfill for the Encoding Living Standard's API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published