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




Downloads32,710/wk
•Publisheda year 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";