All Projects → narirou → Jconv

narirou / Jconv

Pure-JavaScript converter for Japanese character encodings.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Jconv

Zipangu
A library for compatibility about Japan.
Stars: ✭ 27 (-70.33%)
Mutual labels:  encoding, japanese
Binary
Generic and fast binary serializer for Go
Stars: ✭ 86 (-5.49%)
Mutual labels:  encoding
Simplebase
.NET library for encoding/decoding Base16, Base32, Base58 and Base85.
Stars: ✭ 64 (-29.67%)
Mutual labels:  encoding
Edn
Go implementation of EDN (Extensible Data Notation)
Stars: ✭ 76 (-16.48%)
Mutual labels:  encoding
Memorize
🚀 Japanese-English-Mongolian dictionary. It lets you find words, kanji and more quickly and easily
Stars: ✭ 72 (-20.88%)
Mutual labels:  japanese
Momdo.github.io
Japanese translation of the W3C/WHATWG specification(s).
Stars: ✭ 81 (-10.99%)
Mutual labels:  japanese
Bincode
A binary encoder / decoder implementation in Rust.
Stars: ✭ 1,100 (+1108.79%)
Mutual labels:  encoding
Cstc
CSTC is a Burp Suite extension that allows request/response modification using a GUI analogous to CyberChef
Stars: ✭ 91 (+0%)
Mutual labels:  encoding
Irext
Universal IR Remote Control Solution
Stars: ✭ 1,240 (+1262.64%)
Mutual labels:  encoding
Ldpc
C and MATLAB implementation for LDPC encoding and decoding
Stars: ✭ 76 (-16.48%)
Mutual labels:  encoding
Awesome Bert Japanese
📝 A list of pre-trained BERT models for Japanese with word/subword tokenization + vocabulary construction algorithm information
Stars: ✭ 76 (-16.48%)
Mutual labels:  japanese
Sample Boot Micro
Spring Cloud + Gradle Multi Project + Java8
Stars: ✭ 72 (-20.88%)
Mutual labels:  japanese
Bitmatch
A Rust crate that allows you to match, bind, and pack the individual bits of integers.
Stars: ✭ 82 (-9.89%)
Mutual labels:  encoding
Kana
Golang library for conversion between Japanese hiragana, katakana and romaji
Stars: ✭ 68 (-25.27%)
Mutual labels:  japanese
Cheatsheet Of Ui With Fuzzy Behaviors
挙動や仕様が曖昧なユーザインタフェースチートシート
Stars: ✭ 89 (-2.2%)
Mutual labels:  japanese
Yacr
Yet another CSV Reader
Stars: ✭ 62 (-31.87%)
Mutual labels:  encoding
Mlbox
MLBox is a powerful Automated Machine Learning python library.
Stars: ✭ 1,199 (+1217.58%)
Mutual labels:  encoding
Torch Encoding Layer
Deep Texture Encoding Network
Stars: ✭ 80 (-12.09%)
Mutual labels:  encoding
Epub Manga Creator
a web GUI for create japanese epub manga
Stars: ✭ 90 (-1.1%)
Mutual labels:  japanese
Encoding Wrapper
Collection of Go wrappers for Video encoding cloud providers (moved to @video-dev)
Stars: ✭ 90 (-1.1%)
Mutual labels:  encoding

jconv

Pure JavaScript Iconv for Japanese encodings.

Build Status Npm Modules MIT Licensed

  • This module supports the encodings commonly used in the 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 [email protected] 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.
  • Cleanup the code and more speed.
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].