Base64 encoding/decoding in pure JS on both modern Browsers and Node.js. Also supports URL-safe base64
npm install @waiting/base64Base64 encoding/decoding in pure JS on both modern Browsers and Node.js based on base64-js.
Also supports URL-safe base64







string, number and bigintArrayBuffer or Uint8ArrayTextEncoder/TextDecoder under browser and Buffer under Node.jsESM, UMD and CJSbigint base64 encodingutf-8 and utf-16lebash
npm install @waiting/base64
`
Usage of Node.js
See the Docs for details
$3
`ts
import { b64encode, b64fromBuffer, b64urlEncode } from '@waiting/base64'b64encode('A') === 'QQ=='
b64encode('schöne') === 'c2Now7ZuZQ=='
b64encode(1n) === b64encode(1) // bigint -> 'MQ=='
b64encode('𠮷') === b64encode('\uD842\uDFB7') === b64encode('\u{20BB7}') // '8KCutw=='
const u8arr = Uint8Array.from([0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87])
b64fromBuffer(u8arr) === b64encode('中文') // '5Lit5paH'
// URL-safe
b64urlEncode('A') === 'QQ'
b64urlEncode('中文测试') === '5Lit5paH5rWL6K-V'
`$3
`ts
import { b64decode, b64urlDecode } from '@waiting/base64'b64decode('MQ==') === '1'
b64urlDecode('MQ') === '1'
`$3
`ts
import { b64toURLSafe, b64fromURLSafe } from '@waiting/base64'// base64 -> URL-safe base64
b64toURLSafe('QQ==') === 'QQ'
b64toURLSafe('5Lit5paH5rWL6K+V') === '5Lit5paH5rWL6K-V'
// URL-safe base64 -> base64
b64fromURLSafe('QQ') === 'QQ=='
b64fromURLSafe('0J_RgNC40LLQtdGCLCDQvNC40YAh') === '0J/RgNC40LLQtdGCLCDQvNC40YAh'
`
Usage of browser
See the Docs for details
$3
`html
`$3
`html
`
Testing
`sh
npm run testfor browsers FireFox and Chrome
npm run test:browserfor browsers all available on this client
cd .config && npm i
npm run browser:detect
``