Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
Built and signed on GitHub Actions
latest
denoland/stdWorks with
•JSR Score100%•This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers




Downloads43,481/wk
•Published9 months ago (1.0.10)
Utilities for encoding and decoding common formats like hex, base64, and varint
Utilities for encoding and decoding common formats like hex, base64, and varint.
Basic Usage
import { encodeBase64, decodeBase64 } from "@std/encoding"; import { assertEquals } from "@std/assert"; const foobar = new TextEncoder().encode("foobar"); assertEquals(encodeBase64(foobar), "Zm9vYmFy"); assertEquals(decodeBase64("Zm9vYmFy"), foobar);
Various Encoding Formats
import { encodeHex, encodeBase32, encodeBase58, encodeBase64, encodeAscii85, decodeHex, decodeBase32, decodeBase58, decodeBase64, decodeAscii85, } from "@std/encoding"; import { assertEquals } from "@std/assert"; // Many different encodings for different character sets assertEquals(encodeHex("Hello world!"), "48656c6c6f20776f726c6421"); assertEquals(encodeBase32("Hello world!"), "JBSWY3DPEB3W64TMMQQQ===="); assertEquals(encodeBase58("Hello world!"), "2NEpo7TZRhna7vSvL"); assertEquals(encodeBase64("Hello world!"), "SGVsbG8gd29ybGQh"); assertEquals(encodeAscii85("Hello world!"), "87cURD]j7BEbo80"); // Decoding assertEquals(new TextDecoder().decode(decodeHex("48656c6c6f20776f726c6421")), "Hello world!"); assertEquals(new TextDecoder().decode(decodeBase32("JBSWY3DPEB3W64TMMQQQ====")), "Hello world!"); assertEquals(new TextDecoder().decode(decodeBase58("2NEpo7TZRhna7vSvL")), "Hello world!"); assertEquals(new TextDecoder().decode(decodeBase64("SGVsbG8gd29ybGQh")), "Hello world!"); assertEquals(new TextDecoder().decode(decodeAscii85("87cURD]j7BEbo80")), "Hello world!");
URL-Safe Base64
import { encodeBase64, encodeBase64Url } from "@std/encoding"; import { assertEquals } from "@std/assert"; assertEquals(encodeBase64("ice creams"), "aWNlIGNyZWFtcw=="); // Not url-safe because of `=` assertEquals(encodeBase64Url("ice creams"), "aWNlIGNyZWFtcw"); // URL-safe! // Base64Url replaces + with - and / with _ assertEquals(encodeBase64("subjects?"), "c3ViamVjdHM/"); // slash is not URL-safe assertEquals(encodeBase64Url("subjects?"), "c3ViamVjdHM_"); // _ is URL-safe
Binary Data Encoding
import { encodeHex, encodeBase64 } from "@std/encoding"; import { assertEquals } from "@std/assert"; // Working with binary data const binaryData = new Uint8Array([0xDE, 0xAD, 0xBE, 0xEF]); assertEquals(encodeHex(binaryData), "deadbeef"); assertEquals(encodeBase64(binaryData), "3q2+7w==");
Varint Encoding
Learn more from the protobuf Varint encoding docs.
import { encodeVarint, decodeVarint } from "@std/encoding"; import { assertEquals } from "@std/assert"; // Varint encoding support assertEquals(encodeVarint(9601n), [new Uint8Array([129, 75]), 2]); // Decode a varint const bytes = new Uint8Array([129, 75]); assertEquals(decodeVarint(bytes), [9601n, 2]);
Built and signed on
GitHub Actions
Add Package
deno add jsr:@std/encoding
Import symbol
import * as encoding from "@std/encoding";
Import directly with a jsr specifier
import * as encoding from "jsr:@std/encoding";
Add Package
pnpm i jsr:@std/encoding
pnpm dlx jsr add @std/encoding
Import symbol
import * as encoding from "@std/encoding";
Add Package
yarn add jsr:@std/encoding
yarn dlx jsr add @std/encoding
Import symbol
import * as encoding from "@std/encoding";
Add Package
vlt install jsr:@std/encoding
Import symbol
import * as encoding from "@std/encoding";
Add Package
npx jsr add @std/encoding
Import symbol
import * as encoding from "@std/encoding";
Add Package
bunx jsr add @std/encoding
Import symbol
import * as encoding from "@std/encoding";