jconv
Pure Javascript Iconv for Japanese encodings (Shift_JIS|ISO-2022-JP|EUC-JP|UTF-8).
Last updated 11 years ago by narirou .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ npm install jconv 
SYNC missed versions from official npm registry.

jconv

Pure JavaScript Iconv for Japanese encodings.

Build Status NPM version

  • 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 日本語]

Installation

$ npm install jconv

Usage

For example simply convert from EUC-JP to Shift_JIS:

var jconv = require( 'jconv' );

var SJISBuffer = jconv.convert( EUCJPBuffer, 'EUCJP', 'SJIS' );

Also available iconv-lite syntax:

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]

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".

Based on

Thank you so much!

Note

Pull requests are welcome.

Todo

  • Streaming API support
  • Support more encodings and languages.

Current Tags

  • 0.1.5                                ...           latest (11 years ago)

11 Versions

  • 0.1.5                                ...           11 years ago
  • 0.1.4                                ...           11 years ago
  • 0.1.3                                ...           11 years ago
  • 0.1.2                                ...           11 years ago
  • 0.1.1                                ...           11 years ago
  • 0.1.0                                ...           11 years ago
  • 0.0.6                                ...           11 years ago
  • 0.0.5                                ...           11 years ago
  • 0.0.4                                ...           11 years ago
  • 0.0.3                                ...           11 years ago
  • 0.0.1                                ...           11 years ago
Maintainers (1)
Downloads
Total 1
Today 1
This Week 1
This Month 1
Last Day 0
Last Week 0
Last Month 0
Dependencies (0)
None
Dev Dependencies (5)
Dependents (1)

© 2010 - cnpmjs.org x YWFE | Home | YWFE