@@ -10,57 +10,75 @@ npm i @bddjr/base64
1010import base64 from " @bddjr/base64"
1111
1212// Encode string to base64
13- var enc = base64 .encode (" Hello world !" )
13+ var enc = base64 .encode (" 👋 Hello!" )
1414console .log (enc)
1515
1616// Decode base64 to string
17- var dec = base64 .decodeToString (" SGVsbG8gd29ybGQh " )
17+ var dec = base64 .decodeToString (" 8J+Ri0hlbGxvIQ== " )
1818console .log (dec)
1919
2020// Encode Uint8Array to base64
2121var enc = base64 .encode (new Uint8Array (16 ))
2222console .log (enc)
2323
2424// Decode base64 to Uint8Array
25- var dec = base64 .decode (" nszai3rv7QBp+Co0SgB93g ==" )
25+ var dec = base64 .decode (" nszai3rv7QBp+/o0SgB93g ==" )
2626console .log (dec)
2727
2828
29+
2930// Encode string to base64url
30- var enc = base64 .encodeurl (" Hello world! " )
31+ var enc = base64 .encodeurl (" 👋你好 " )
3132console .log (enc)
3233
3334// Decode base64url to string
34- var dec = base64 .decodeurlToString (" SGVsbG8gd29ybGQh " )
35+ var dec = base64 .decodeurlToString (" 8J-Ri-S9oOWlvQ== " )
3536console .log (dec)
3637
3738// Encode Uint8Array to base64url
3839var enc = base64 .encodeurl (new Uint8Array (16 ))
3940console .log (enc)
4041
4142// Decode base64url to Uint8Array
42- var dec = base64 .decodeurl (" dBZ7uNJ0D6_EbZwZnQcEBA ==" )
43+ var dec = base64 .decodeurl (" dBZ7uNJ0D-_EbZwZnQcEBA ==" )
4344console .log (dec)
45+
46+
47+
48+ // Encode to base64 omit padding characters (=)
49+ var enc = base64 .encode (" omit" , true )
50+ console .log (enc) // b21pdA
51+
52+ // Encode to base64url omit padding characters (=)
53+ var enc = base64 .encodeurl (" omit" , true )
54+ console .log (enc)
4455```
4556
4657You can also use ` @bddjr/base64/make ` to create an encoder/decoder with a custom alphabet:
4758
48- ``` js
59+ ``` ts
4960import {
5061 make_bytesToBase64 ,
51- make_base64ToBytes ,
5262 make_encode ,
5363 make_decode ,
5464 make_decodeToString ,
5565} from " @bddjr/base64/make"
5666
5767// base64-no-upper-case
58- const alphabet = " !#$%&()*,-.:;<>?@[]^_`{|}~abcdefghijklmnopqrstuvwxyz0123456789+/"
59-
60- const _bytesToBase64 = make_bytesToBase64 (alphabet)
61- const encode = make_encode (_bytesToBase64)
62-
63- const _base64ToBytes = make_base64ToBytes (alphabet)
64- const decode = make_decode (_base64ToBytes)
65- const decodeToString = make_decodeToString (decode)
68+ export const alphabet = " !#$%&()*,-.:;<>?@[]^_`{|}~abcdefghijklmnopqrstuvwxyz0123456789+/"
69+
70+ export const _bytesToBase64 = /* @__PURE__*/ make_bytesToBase64 (alphabet )
71+ export const encode = /* @__PURE__*/ make_encode (_bytesToBase64 )
72+
73+ export const decode = /* @__PURE__*/ make_decode (alphabet )
74+ export const decodeToString = /* @__PURE__*/ make_decodeToString (decode )
75+
76+ const base64custom = {
77+ alphabet: alphabet as typeof alphabet , // TypeScript
78+ _bytesToBase64 ,
79+ encode ,
80+ decode ,
81+ decodeToString ,
82+ }
83+ export default base64custom
6684```
0 commit comments