Pure JavaScript Iconv for Japanese encodings. (Shift_JIS, ISO-2022-JP, EUC-JP, UTF-8, UCS-2)
npm install jconvjconv
====================
> Pure JavaScript Iconv for Japanese encodings.


* This module supported the encodings commonly used in Japanese Language:
Shift_JIS(CP932), ISO-2022-JP(-1), EUC-JP, UTF8, UNICODE(UCS2) conversion.
* Pure Javascript, no need to compile.
* Much faster than node-iconv.
[[Japanese 日本語]](https://github.com/narirou/jconv/blob/master/READMEja.md)
bash
$ npm install jconv
`
Usage
For example simply convert from EUC-JP to Shift_JIS:
`javascript
var jconv = require( 'jconv' );
var SJISBuffer = jconv.convert( EUCJPBuffer, 'EUCJP', 'SJIS' );
`
Also available iconv-lite syntax:
`javascript
var str = jconv.decode( buffer, fromEncoding );
var buf = jconv.encode( 'string', toEncoding );
`
API
* jconv( input, fromEncoding, toEncoding )
* jconv.convert( input, fromEncoding, toEncoding )
* input {Buffer} or {String}
* fromEncoding, toEncoding {String}:
Shift_JIS(SJIS), ISO-2022-JP(JIS), EUCJP, UTF8, UNICODE(UCS2, UTF16LE) are available.
* return {Buffer}
* jconv.decode( inputBuffer, fromEncoding )
* return {String}
* jconv.encode( inputString, toEncoding )
* return {Buffer}
* jconv.encodingExists( encodingName )
* return {Boolean}
Performance
Comparison with node-iconv@2.0.7 by converting Japanese text
using Benchmark.js.
Environment is Windows7, core i5 2405-S, mem8G, Node 0.10.22.
(Please check on your hardware.)
Gray: iconv, Blue: jconv (higher is better)
!jconv - encoding speed test chart
[[latest log]](https://github.com/narirou/jconv/blob/master/test/chart/speedLog.txt)
Encodings
* Supported: Shift_JIS(CP932), ISO-2022-JP(-1), EUC-JP, UTF8, UNICODE(UCS2).
* Supported Windows Dependent Characters <-> JIS Conversion.
(problem details)
* "JIS X 0208", "JIS X 0212" and "CP932" have the Unicode Mapping Table Differences,
so the specific characters ( ~¢£∥ etc... ) cannot be round-trip converted by default.
This module corrects this difference as much as possible when converting.
(problem details)
Development
* Clone Repository
`
git clone https://github.com/narirou/jconv.git
cd jconv
npm install
`
* Generate Tables
`
generates the unicode mapping table module in "tables" folder.
node generators/generate-source
node generators/generate
`
* Test
`
grunt test
`
* Speed Test
`
First, minify the script by closure-compiler.
grunt minify
`
`
node test/speed
This results are visualized by chart.js.
Plese open "chart/index.html".
``