Skip to main content
Home

Built and signed on GitHub Actions

Provides TextDecoder and TextEncoder implementations for modified UTF-8, the variant of UTF-8 used on the JVM

This package works with DenoIt is unknown whether this package works with Cloudflare Workers, Node.js, Bun, Browsers
It is unknown whether this package works with Cloudflare Workers
It is unknown whether this package works with Node.js
This package works with Deno
It is unknown whether this package works with Bun
It is unknown whether this package works with Browsers
JSR Score
100%
Published
2 months ago (0.0.2)

Modified UTF-8 is the variant of UTF-8 used on Java. See the JVM spec for technical details.

Examples

Decoder

import { MUTF8TextDecoder } from "@kokiri/modified-utf8";
import { assertEquals } from "@std/assert";

const dec = new MUTF8TextDecoder();
assertEquals(
  dec.decode(new Uint8Array([0x68, 0x65, 0x6C, 0x6C, 0x6F])),
  "hello",
);

assertEquals(
  dec.decode(new Uint8Array([0xC0, 0x80, 0xE2, 0x98, 0x83])),
  "\u0000☃",
);

Encoder

import { MUTF8TextEncoder } from "@kokiri/modified-utf8";
import { assertEquals } from "@std/assert";

const enc = new MUTF8TextEncoder();
assertEquals(
  enc.encode("hi"),
  new Uint8Array([0x68, 0x69]),
);

const dest = new Uint8Array(5);
const { read, written } = enc.encodeInto("\u0000☃", dest);
assertEquals(read, 2);
assertEquals(written, 5);
assertEquals(dest, new Uint8Array([0xC0,0x80,0xE2,0x98,0x83]));
Built and signed on
GitHub Actions

New Ticket: Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@kokiri/modified-utf8

Import symbol

import * as modified_utf_ from "@kokiri/modified-utf8";
or

Import directly with a jsr specifier

import * as modified_utf_ from "jsr:@kokiri/modified-utf8";

Add Package

pnpm i jsr:@kokiri/modified-utf8
or (using pnpm 10.8 or older)
pnpm dlx jsr add @kokiri/modified-utf8

Import symbol

import * as modified_utf_ from "@kokiri/modified-utf8";

Add Package

yarn add jsr:@kokiri/modified-utf8
or (using Yarn 4.8 or older)
yarn dlx jsr add @kokiri/modified-utf8

Import symbol

import * as modified_utf_ from "@kokiri/modified-utf8";

Add Package

vlt install jsr:@kokiri/modified-utf8

Import symbol

import * as modified_utf_ from "@kokiri/modified-utf8";

Add Package

npx jsr add @kokiri/modified-utf8

Import symbol

import * as modified_utf_ from "@kokiri/modified-utf8";

Add Package

bunx jsr add @kokiri/modified-utf8

Import symbol

import * as modified_utf_ from "@kokiri/modified-utf8";