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);