Japanese Character Encoding Conversion

2.2.0 · active · verified Sun Apr 19

encoding-japanese is a JavaScript library designed for detecting and converting various character encodings, with a strong focus on Japanese encodings like Shift_JIS, EUC-JP, and ISO-2022-JP, alongside common Unicode formats like UTF-8 and UTF-16. Unlike standard JavaScript string handling, which is internally UTF-16, this library processes encodings as arrays of character code values, allowing for conversions between diverse character sets. The current stable version is 2.2.0, with releases occurring infrequently, often driven by feature additions or maintenance updates. Its key differentiator is robust support for a wide range of Japanese encodings and its ability to handle character codes as arrays, making it suitable for binary data manipulation (e.g., with `Uint8Array` or Node.js `Buffer`).

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates converting Shift_JIS byte array to UTF-8 string, detecting encoding, and URL encoding, highlighting core library functionalities.

import * as Encoding from 'encoding-japanese';

// Example: Convert a Shift_JIS string to UTF-8
const shiftJisBytes = new Uint8Array([
  0x82, 0xA0, 0x82, 0xA2, 0x82, 0xA4, 0x82, 0xA6, 0x82, 0xA8 // 'あいうえお' in Shift_JIS
]);

const utf8Bytes = Encoding.convert(shiftJisBytes, {
  to: 'UTF8',
  from: 'SJIS',
  type: 'array'
});

const utf8String = Encoding.codeToString(utf8Bytes);
console.log('Original Shift_JIS (bytes):', shiftJisBytes);
console.log('Converted UTF-8 (bytes):', utf8Bytes);
console.log('Converted UTF-8 (string):', utf8String);

// Example: Detect encoding
const detectedEncoding = Encoding.detect(shiftJisBytes);
console.log('Detected encoding:', detectedEncoding);

// Example: URL encoding
const urlEncoded = Encoding.urlEncode('テスト&123');
console.log('URL Encoded:', urlEncoded);

view raw JSON →