JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4
  • Score
    100M100P100Q64323F
  • License MIT

A JavaScript Windows-31J encoder, implements Shift_JIS encoder defined in WHATWG Encoding Standard.

Package Exports

  • @i-xi-dev/ms932-encoder
  • @i-xi-dev/ms932-encoder/stream

Readme

@i-xi-dev/ms932-encoder

A JavaScript Windows-31J encoder, implements Shift_JIS encoder defined in WHATWG Encoding Standard.

Ms932Encoder class

The Ms932Encoder implements the TextEncoder interface.

Installation

npm

$ npm i @i-xi-dev/ms932-encoder
import { Ms932Encoder } from "@i-xi-dev/ms932-encoder";

CDN

import { Ms932Encoder } from "https://cdn.skypack.dev/@i-xi-dev/ms932-encoder";
import { Ms932Encoder } from "https://unpkg.com/@i-xi-dev/ms932-encoder/dist/index.js";
import { Ms932Encoder } from "https://cdn.jsdelivr.net/npm/@i-xi-dev/ms932-encoder/dist/index.js";

Usage

const encoder = new Ms932Encoder();

encoder.encode("あいうえお");
// → Uint8Array[ 0x82, 0xA0, 0x82, 0xA2, 0x82, 0xA4, 0x82, 0xA6, 0x82, 0xA8 ]

const bytes = new Uint8Array(10);
const { read, written } = encoder.encodeInto("あいうえお", bytes);
// → read: 5
//   written: 10
//   bytes: Uint8Array[ 0x82, 0xA0, 0x82, 0xA2, 0x82, 0xA4, 0x82, 0xA6, 0x82, 0xA8 ]

Encoding error handling

const encoder = new Ms932Encoder({ fatal: false }); // default

encoder.encode("𩸽");
// → Uint8Array[ 0x3F ]
const encoder = new Ms932Encoder({ fatal: true });

encoder.encode("𩸽");
// → throws Error.

Ms932EncoderStream class

The Ms932EncoderStream implements TextEncoderStream interface.

Requirement

Ms932EncoderStream requires TransformStream.

  • Chrome
  • Edge
  • Safari 14.1+
  • Deno
  • Node.js 16.5.0+

Installation

npm

$ npm i @i-xi-dev/ms932-encoder
import { Ms932EncoderStream } from "@i-xi-dev/ms932-encoder/stream";

CDN

import { Ms932EncoderStream } from "https://cdn.skypack.dev/@i-xi-dev/ms932-encoder/stream";
import { Ms932EncoderStream } from "https://unpkg.com/@i-xi-dev/ms932-encoder/dist/stream/index.js";
import { Ms932EncoderStream } from "https://cdn.jsdelivr.net/npm/@i-xi-dev/ms932-encoder/dist/stream/index.js";

Usage

const encoderStream = new Ms932EncoderStream();

readableStream.pipeThrough(encoderStream).pipeTo(writableStream);