@algorithm.ts/base64
TypeScript icon, indicating that this package has built-in type declarations

4.0.1 • Public • Published

A typescript implementation of the base64 encoding. Unlike traditional implementations, this project uses Uint8Array to represent byte streams.

Install

  • npm

    npm install --save @algorithm.ts/base64
  • yarn

    yarn add @algorithm.ts/base64

Usage

  • encode: Encode a Uint8Array into base64 encoded string.

    // node env: import { TextEncoder } from 'util'
    import { encode } from '@algorithm.ts/base64'
    
    const getBytes = (text: string): Uint8Array => {
      const textEncoder = new TextEncoder()
      const data: Uint8Array = textEncoder.encode(text)
      return data
    }
    
    encode(getBytes('Hello, world!')) // => 'SGVsbG8sIHdvcmxkIQ=='
  • decode: Decode a base64 encoded string to Uint8Array

    import { decode } from '@algorithm.ts/base64'
    
    const data: Uint8Array = decode('SGVsbG8sIHdvcmxkIQ==')
    const textDecoder = new TextDecoder()
    textDecoder.decode(data) // => 'Hello, world!'
  • validate: Check if a string is base64 encoded.

    validate('SGVsbG8sIHdvcmxkIQ==') // => true
  • Custom code map.

    // node env: import { TextEncoder } from 'util'
    import { Base64 } from '@algorithm.ts/base64'
    
    const getBytes = (text: string): Uint8Array => {
      const textEncoder = new TextEncoder()
      const data: Uint8Array = textEncoder.encode(text)
      return data
    }
    
    const base64 = new Base64({
      CODES: '#ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+'
    })
    base64.encode(getBytes('Hello, world!')) // => RFUraF7rHGcublwjHP==

Related

  • BASE64 Table

    Index Binary Char Index Binary Char Index Binary Char Index Binary Char
    0 000000 A 16 010000 Q 32 100000 g 48 110000 w
    1 000001 B 17 010001 R 33 100001 h 49 110001 x
    2 000010 C 18 010010 S 34 100010 i 50 110010 y
    3 000011 D 19 010011 T 35 100011 j 51 110011 z
    4 000100 E 20 010100 U 36 100100 k 52 110100 0
    5 000101 F 21 010101 V 37 100101 l 53 110101 1
    6 000110 G 22 010110 W 38 100110 m 54 110110 2
    7 000111 H 23 010111 X 39 100111 n 55 110111 3
    8 001000 I 24 011000 Y 40 101000 o 56 111000 4
    9 001001 J 25 011001 Z 41 101001 p 57 111001 5
    10 001010 K 26 011010 a 42 101010 q 58 111010 6
    11 001011 L 27 011011 b 43 101011 r 59 111011 7
    12 001100 M 28 011100 c 44 101100 s 60 111100 8
    13 001101 N 29 011101 d 45 101101 t 61 111101 9
    14 001110 O 30 011110 e 46 101110 u 62 111110 +
    15 001111 P 31 011111 f 47 101111 v 63 111111 /
  • Base64 | Wikipedia

  • base-64 | github

  • atob() | MDN

  • btoa() | MDN

Readme

Keywords

Package Sidebar

Install

npm i @algorithm.ts/base64

Weekly Downloads

29

Version

4.0.1

License

MIT

Unpacked Size

29.2 kB

Total Files

8

Last publish

Collaborators

  • lemonclown