@hugoalh/base64
v0.1.3
Published
A module for Base64 encode and decode.
Downloads
221
Maintainers
Readme
Base64 (ES)
🔗 DistBoard @hugoalh ● GitHub ● JSR ● NPM
An ECMAScript module for Base64 encode and decode.
🌟 Features
- Support multiple variants alphabet and padding:
- RFC 1421: Base64 encoding for privacy enhanced mail (Deprecated)
- RFC 2045: Base64 transfer encoding for MIME
- RFC 2152: Base64 encoding for UTF-7
- RFC 3501: Base64 encoding for IMAP mailbox names
- RFC 4648 §4: Base64 encoding (Standard)
- RFC 4648 §5: Base64 encoding with URL and filename safe alphabet (Base64URL)
- RFC 9580: ASCII armor encoding for OpenPGP
- Support stream encode and decode.
🎯 Runtime Targets
Any runtime which support ECMAScript should able to use this; These runtimes are officially supported:
🛡️ Runtime Permissions
This does not request any runtime permission.
#️⃣ Sources & Entrypoints
- GitHub Raw
https://raw.githubusercontent.com/hugoalh/base64-es/{Tag}/mod.ts - JSR
jsr:@hugoalh/base64[@{Tag}] - NPM
npm:@hugoalh/base64[@{Tag}]
| Name | Path | Description |
|:--|:--|:--|
| . | ./mod.ts | Default. |
[!NOTE]
- Different runtimes have vary support for the sources and entrypoints, visit the runtime documentation for more information.
- It is recommended to include tag for immutability.
- These are not part of the public APIs hence should not be used:
- Benchmark/Test file (e.g.:
example.bench.ts,example.test.ts).- Entrypoint name or path include any underscore prefix (e.g.:
_example.ts,foo/_example.ts).- Identifier/Namespace/Symbol include any underscore prefix (e.g.:
_example,Foo._example).
🧩 APIs
class Base64Decoder { constructor(options?: Base64DecodeOptions); get variant(): Base64Variant; decodeToBytes(item: string | Uint8Array): Uint8Array; decodeToText(item: string | Uint8Array): string; }class Base64Encoder { constructor(options?: Base64EncodeOptions); get padding(): boolean; get variant(): Base64Variant; encodeToBytes(item: string | Uint8Array): Uint8Array; encodeToText(item: string | Uint8Array): string; }class Base64DecoderStream extends TransformStream<Uint8Array, Uint8Array> { constructor(options?: Base64DecodeOptions); }class Base64EncoderStream extends TransformStream<Uint8Array, Uint8Array> { constructor(options?: Base64EncodeOptions); }type Base64Variant = | "rfc1421" | "rfc2045" | "rfc2152" | "rfc3501" | "rfc4648-4" | "rfc4648-5" | "rfc9580" | "standard" | "url";interface Base64BasicOptions { variant?: Base64Variant; }interface Base64DecodeOptions extends Base64BasicOptions { }interface Base64EncodeOptions extends Base64BasicOptions { padding?: boolean | null; }
[!NOTE]
- For the full or prettier documentation, can visit via:
✍️ Examples
new Base64Encoder().encodeToText("Many hands make light work."); //=> "TWFueSBoYW5kcyBtYWtlIGxpZ2h0IHdvcmsu"
